繁体   English   中英

如何扩展Azure Webjobs

[英]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属性设置不同的名称),但我不确定这是否是一个好的做法。 请指出相应的文件。

  1. config.Queues.NewBatchThreshold表示什么?

  2. config.Queues.NewBatchThreshold的默认值是什么

  3. 对于队列处理,应该是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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM