2015-04-02 60 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。

相關問題