[英]How to Scale Azure Webjobs
我知道webjob与webapp一起扩展,即如果我的webapp在5个实例上运行,那么webjobs也将在5个实例上运行。 我只想知道是否有一种方法可以在网站的每个实例中拥有多个webjob实例。
注意:我已经有最大值JobHostConfiguration.QueuesConfiguration.BatchSize = 32 。
现在,我的webapp正在运行1个实例。 Webjobs同时处理32个。 我的目标是同时处理3 * 32 = 96。
实现此目标的一种可能方法是部署相同的webjobs 3次(为webJobName属性设置不同的名称),但我不确定这是否是一个好的做法。 请指出相应的文件。
config.Queues.NewBatchThreshold表示什么?
config.Queues.NewBatchThreshold的默认值是什么 ?
对于队列处理,应该是config.Queues.NewBatchThreshold的推荐值?
从https://github.com/Azure/azure-webjobs-sdk/issues/628复制Jon的答案:
NewBatchThreshold是SDK刷新批处理之前要在批处理中处理的消息数。
例如,如果您的批处理大小为20且NewBatchThreshold为5,则SDK每次会从队列中抓取20条消息,将它们传递给您的代码,以便您逐个处理它们,然后当它下载到最后5个未处理的消息时消息(所以你已经处理了15)它会抓住下一个20. 见 “并行执行”
默认情况下,NewBatchThreshold是BatchSize的一半( 请参阅源代码 ),这就是批量大小为1时看到值为0的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.