了解WebJobs的运行方式

时间:2018-06-12 12:24:39

标签: azure azure-webjobs

我正在努力为自己回答这个问题所以任何人都可以为我解答。究竟,webjobs如何运行?我的意思是,Azure框架是否管理对WebJob的访问,并且是在单独的进程中运行的多个实例?

我的印象是默认情况下我得到12或16个并行实例。它是否正确?因此,如果队列中放置了三条消息,即我的webjob被触发,它们将全部并行运行。

1 个答案:

答案 0 :(得分:0)

AFAIK,当您扩展多个实例时,webjobs将在不同的进程中并行运行实例。但它有先决条件,

  1. webjob应连续,而不是手动/预定。
  2. 要正确发生这种情况,您需要在标准模式下运行,并启用始终开启设置。
  3. 注意:如果在webjob中使用TimerTrigger,则不会向外扩展。请参阅此article

      

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

    有关该问题的详细信息,请参阅以下两篇类似的帖子,12