我有一個帶有多個實例的生產和臨時插槽的Azure網站。如何防止在Azure網站生產中交換Azure webjobs <-->分段插槽
我在網站上運行了幾個Azure webjobs,其中一些觸發了其他連續的webjobs。
我明白觸發的webjobs只會在一個實例上運行一次。
我目前的設置是:
生產現場沒有比從登臺
分期的網站交換其他部署是建立以持續部署從到位桶
Webjobs從內部署VS發佈到使用「發佈到Azure」的製作槽(因爲AFAIK不支持基於時間表的網頁作業的連續部署)
的網站的VS解決方案是從含VS解決方案不同webjobs
我注意到,當我換的生產和分期,webjobs也換! 我意識到這一點時,我已經部署了一個新的webjob生產,隨後進行網站部署,然後進行交換,新部署的webjob不再處於生產槽中!
我的問題:
是可以防止webjobs從生產之間的交換和分期(webjobs真的完全不同的代碼片段不是網站)
到底是換了webjobs什麼?二進制文件?時間表?兩者?
我該如何阻止所有webjobs在臨時插槽上運行?我的網絡作業不需要高度可用,我可以輕鬆地在線下測試它們。
如果我VS將webjobs部署到插槽並進行交換,那麼當前的臨時插槽將缺少部署的webjob,當我執行我的下一個網站更新時我將丟失它,因此我應該在哪裏部署我的網絡工作?
有一個related thread,但它假定webjob與一個網站,是不是我有什麼目前同時部署。
我真的很喜歡網站和webjobs,但它似乎與連續獨立部署webjobs和網站有關的故事被打破。
真的會很感激的建議!
感謝
感謝您的迴應阿米特。 我不知道直接部署一個WebJob是不好的做法,Visual Studio Azure集成實際上鼓勵它在VS中的WebJob項目中使用「發佈到Azure」按鈕。看起來至少它不應該讓它很容易遵循'壞習慣' 有什麼地方可以向團隊提供反饋? Git部署對於WebJobs和CloudServices來說是一個巨大的勝利。 這會稍微削弱故事,因爲這意味着需要重新部署網站來更新WebJob。 –
「發佈到Azure」的WebJob與網站相同,問題的做法是將git部署和「發佈到Azure」(msdeploy)混合在一起,最好使用一種部署方法。 –
明白了,你知道我是否將我所有的webjobs添加到與我的網站(這是git部署)相同的VS解決方案中,當我在webjob中進行更改提交時,是否會重新部署我的網站只有更新是一個webjob?那些尚未更新的其他webjobs呢?我擔心部署將花費多長時間,如果它的一個整體解決方案與所有webjobs和網站。 –