【发布时间】:2014-11-15 21:06:10
【问题描述】:
我已经将一个长时间运行的进程实现为一个 WebJob,它在队列消息时触发。我的理解是,JobHost.RunAndBlock() 只会在当前作业完成并返回后开始执行。但是,如果当另一个队列消息到达时我的第一个进程仍在运行,则第二个进程开始执行并丢弃第一个进程(它具有一些静态数据结构)。
【问题讨论】:
标签: azure-webjobs azure-webjobssdk
我已经将一个长时间运行的进程实现为一个 WebJob,它在队列消息时触发。我的理解是,JobHost.RunAndBlock() 只会在当前作业完成并返回后开始执行。但是,如果当另一个队列消息到达时我的第一个进程仍在运行,则第二个进程开始执行并丢弃第一个进程(它具有一些静态数据结构)。
【问题讨论】:
标签: azure-webjobs azure-webjobssdk
默认情况下,队列消息是并行处理的。默认并行度为 16。
如果您不想并行执行,可以将JobHostConfiguration.Queues.BatchSize 设置为1,如here 所述。
【讨论】: