如何扩展Azure Webjobs

时间:2016-06-10 05:11:35

标签: azure azure-webjobs azure-webjobssdk webjob

我知道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 的推荐值是什么?

1 个答案:

答案 0 :(得分:6)

https://github.com/Azure/azure-webjobs-sdk/issues/628复制Jon的回答:

  

NewBatchThreshold是SDK刷新批处理之前要在批处理中留下的消息数。

     

例如,如果您的批量大小为20且NewBatchThreshold为5,则SDK每次都会从队列中抓取20条消息,将它们传递给您的代码,以便您逐个处理它们,然后当它下载到最后5条未经处理的消息(因此您已经处理了15条消息)它将获取下一个20 See here"并行执行"

     

默认情况下,NewBatchThreshold是BatchSize(see source code)的一半,这就是批量大小为1时看到值为0的原因。

请注意,我们希望按照我this issue开放的方式减少混淆。