1

当我阅读 azure WebJobs 的文档时,发现下面的语句For Continuous WebJobs to run reliably and on all instances参考下图在此处输入图像描述

我的 WebJob 工作流程:

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

我的问题

如果 WebJob 运行所有实例,则表示我的 Web 应用程序现在正在运行两个实例。

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

1 回答 1

4

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

您的 WebJob 是否会运行两次取决于您如何实现它。一个服务总线队列监听 WebJob 只会运行一次队列消息,不管有多少实例(尽管如果失败,它会运行不止一次)。

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

{
  "is_singleton": true
}
于 2017-02-13T07:28:55.163 回答