如果Web作业在多个实例上运行,是否会运行相同的作业?

时间:2017-02-13 04:48:30

标签: azure azure-webjobs webjob

当我阅读azure WebJobs的文档时,它在下面的语句For Continuous WebJobs to run reliably and on all instances中找到了enter image description here下面的图片

我的WebJob工作流程:

需要在美国东部标准时间上午12点在我的应用程序中为新创建的用户准备报告,并在每天发生的电子邮件中向我发送报告。这个时间可以通过UI更改,因此我需要连续运行工作以查找和运行计划选定的时间

我的问题

如果WebJob运行所有实例,请说现在为我的网络应用程序运行两个实例。

  1. 我是否会收到两封电子邮件,以便每个实例中的WebJob准备报告并发送给我?
  2. 无论WebJobs运行了多少,都只会收到一封电子邮件?

1 个答案:

答案 0 :(得分:4)

默认情况下,连续WebJob会在您的应用服务计划的所有实例上运行。

WebJob是否会运行两次取决于您如何实现它。一个Service Bus Queue监听WebJob只会运行一次队列消息,无论有多少个实例(如果它失败,它将运行多次)。

如果您愿意,您还可以通过在WebJob中包含settings.job文件,使WebJob在单个实例上运行,其中包含以下内容:

{
  "is_singleton": true
}