2016-06-21 32 views
0

我正在学习azure webjob和队列,在我工作的公司,每天晚上,我们计算出700万条记录。计算非常简单,但数量相当大(因为有大约700万条记录在db中)。使用azure webjob和队列时是否可以绕过32个限制?

随着公司正在转向Azure,我想知道是否可以使用天蓝色的队列来处理这个问题?理论上,我可以创建一些代码来填充队列(因为有64kb的消息大小限制,我想我可以在一条消息中放置10条记录,因此总消息将像700k?)。然后我会有队列触发的webjob并进行计算。

但是,根据here,消息检索的最大限制为32。

这是否意味着最多可同时触发32个Webjob?如果是这种情况,700000/32 = 21875,这意味着它需要很长时间才能完成。

有没有办法触发更多的webjob并行运行,而不是32限制?

回答

0

通过组合BatchSizeNewBatchThreshold,可以获得更高的并发性。查看它的最佳方式是并发限制是两个标志的总和。因此,如果您将BatchSize设置为32并将NewBatchThreshold设置为100,则并发限制将为132.

有关详细信息,请参阅https://github.com/Azure/azure-webjobs-sdk/issues/628更多信息。

相关问题