2015-04-02 58 views
1

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

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

“如果您的Web应用程序运行在多个实例上,那么连续运行的WebJob将运行在您的所有实例上。按需和预定的WebJobs运行在选定用于Microsoft Azure负载平衡的单个实例上。资料来源:http://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/ – 2015-04-02 12:04:52

+0

啊,发誓我发帖前读了那个页面3次,并以某种方式错过了。告诉我我需要什么。谢谢。 – Daniel 2015-04-02 13:31:09

+0

好吧,除了它没有真正解决部署插槽问题。如果我正确理解了配置,我认为它必须是每个部署插槽。 – Daniel 2015-04-02 13:41:17

回答

2

计划的Azure WebJob将按计划运行一次,无论网站有多少实例。

关于插槽,当您创建计划的WebJob时,您实际上会创建一个触发的WebJob(在Azure网站端)和一个计划程序作业(在Azure计划程序端)。 因此,您可以为生产插槽创建一次,然后将您的临时插槽上的“按需”WebJob部署为相同的WebJob二进制文件。

每当您交换Azure调度程序时仍会指向您的生产插槽,因此它总是会触及当前部署到生产插槽的WebJob。

相关问题