扩大天蓝色连续webjob

时间:2018-06-08 14:44:02

标签: azure scale out webjob

我正在尝试扩展连续的webjob。我的服务计划是按标准设置的,因此我可以扩展10个实例。问题是webjob没有扩展,并且在任何时候只有一个正在运行。

实例数: enter image description here

功能: enter image description here

功能代码: enter image description here

2 个答案:

答案 0 :(得分:0)

根据article,我们可以找到原因,请参考它。

  

在幕后, TimerTrigger使用WebJobs SDK的Singleton功能来确保在任何给定时间只有一个触发函数的实例正在运行。当JobHost启动时,对于每个TimerTrigger函数,都会执行blob租约(Singleton Lock)。这种分布式锁定确保您的计划函数的任何一个实例都可以随时运行。

答案 1 :(得分:0)

我使用的是连续WebJob而不是TimerTriggerTimerTrigger表示作业不是连续的)。您必须从代码中删除TimerTrigger

默认情况下,Continuous WebJob将在所有可用实例上执行。

在WebJob代码中,您必须注意正确锁定和完成消息以避免并发问题。

Peek()方法不太适合并行处理,因为消息未被锁定或完成,并且它不关心其他锁。使用Receive()或基于事件的RegisterMessageHandler() patthern。

以下是一些文档: