是按实例还是按站点安排Azure Webjobs?

时间:2015-04-02 02:00:07

标签: azure azure-web-sites azure-webjobs

我正在考虑使用Azure WebJobs每天早上向客户发送电子邮件。但是,我想确保只向每个客户发送一封电子邮件。我不清楚预定的Azure WebJob是运行一个实例还是每个webapp一个或每个部署一个插槽。如果我发布webjob并安排它每天早上8点运行,并且该站点配置了两个部署插槽,并在2个实例上运行,那么将在早上8点向客户发送多少封电子邮件?

  • 是否为1,表示Azure确保每个计划只运行一个webjob?
  • 是否为2,表示Azure在每个实例或插槽上运行一次webjob?
  • 或者它是4,表示Azure在每个插槽的每个实例上运行一次webjob?

1 个答案:

答案 0 :(得分:2)

无论网站有多少个实例,计划的Azure WebJob每个计划都会运行一次。

关于插槽,当您创建计划的WebJob时,实际上创建了一个触发的WebJob(在Azure网站端)和一个调度程序作业(在Azure Scheduler端)。 因此,您将为生产槽创建一次,接下来您将部署相同的WebJob二进制文件作为"按需"您的临时插槽上的WebJob。

每当您交换Azure时,调度程序仍将指向您的生产槽,因此它将始终命中当前部署到生产槽的WebJob。