2016-09-24 24 views

回答

1

我沒有測試它自己又但從docs我發現這句話

如果您使用的必須爲單一實例中運行的時間表驅動的任務, 要注意以下事項:

  • 如果運行(使用Windows計劃任務,如 虛擬機)調度的計算實例進行縮放,你會 有調度運行多個實例。這些可以啓動 多個實例的任務。
  • 如果任務用於非調度事件之間的 週期長,調度可以啓動另一個 實例任務以前一個仍在運行的

可能的解決方案也是在文檔中this部分

默認情況下提到,WebJobs規模及其關聯Azure的Web應用程序 實例。但是,如果您希望WebJob僅作爲單個實例運行,則可以創建一個Settings.job文件,其中包含JSON 數據{ "is_singleton": true }。這迫使Azure僅運行WebJob的一個 實例,即使存在多個關聯的Web應用程序的實例。對於必須作爲唯一實例運行的計劃作業 ,這可能是一種有用的技術。

that部分

默認情況下,WebJobs規模與Web應用程序。但是,通過將is_singleton 配置屬性設置爲true,可以將 作業配置爲在單個實例上運行。單實例Web作業對於 任務非常有用,因爲這些任務不想縮放或作爲同步多個 實例運行,例如重新索引,數據分析和類似任務。