我們有一個帶有「暫存」部署插槽的Azure網站設置,我們使用連續的Azure WebJob處理長時間運行的後臺作業。看起來,當您發佈到網站(幷包含WebJob二進制文件)時,如果WebJob先前已停止,WebJob將自行重新啓動。如何防止Azure WebJob在發佈後啓動?
我們當前的部署過程如下所示:
- 部署到分段
- 立即&快速停止 分期WebJob(儘量避免處理消息2個WebJobs)
- 煙霧測試在STAGING工作上驗證代碼
- 停止PRODUCTION WebJob(讓它排出隊列消息)
- 交換生產和分期
- 開始生產WebJob(這只是臨時WebJob)
有沒有竅門(比如一個標誌文件或東西)告訴WebJob不要發佈後啓動?
剛剛測試過這個,它效果很好。我在我的C#控制檯項目的根目錄中添加了一個'disable.job'文件,並將其構建操作設置爲'Content'。 – ericb
@我可以發誓,直到最近,當一個網站發佈時,webjob的狀態將保持不變 - 如果停止了,保持它停止;如果它正在運行,請繼續運行。我發佈Web應用程序代碼和/或webjob代碼的新版本的事實不應被視爲框架的假設,即應該更改webjobs的運行狀態。僅供參考我發佈在這裏https://stackoverflow.com/questions/42380853/stopped-azure-webjobs-are-starting-following-publishing-of-web-app。 – Matt