2015-09-22 59 views
5

我們的WebJob在我們的實時環境中運行時存在一個錯誤,我找出了錯誤並修復了它,這可以在我們的Dev環境中進行驗證。我將我的WebJob作爲「Azure WebJob」發佈到我們的實時環境中,但是我仍然存在這個錯誤。爲了增加混淆,現在有時會發生錯誤。因此,出於某種原因,舊代碼有時會在某處運行。Azure WebJob運行舊代碼

有人能幫我理解嗎?

+0

以下是停止插槽中的webjob的PowerShell: Stop-AzureWebsiteJob -Name $ webAppName -JobName $ webjobName -PassThru -Slot $ destinationSlot – RuSs

回答

4

我有類似的問題。我們在Azure中使用一個階段環境進行部署,結果發現舊的WebJobs(運行帶有舊版本實體框架模型的代碼)仍然在隊列中運行。這些作業然後獲取消息並使用它們。爲了補充問題,在try catch中使用異常並且WebJob的狀態爲成功。

檢查您是否有舞臺環境(添加Web應用程序名稱的階段),如果有,請進入Azure管理門戶並停止它們。

注意,僅停止Webapp是不夠的,您必須直接停止WebJobs。在Settings-> WebJobs下完成(在新門戶中),然後右鍵單擊webjobs名稱選擇停止。

How to stop WebJob

+0

Thanks!獲得的教訓,將在檢查到所有事情都在未來運行之後總是停下來...... – Oskar

1

我花了年齡在研究這個問題。事實證明,我的個人電腦上的網絡工作項目正在工作中運行!無論我在Azure上做了什麼,運行這個exe文件並使用相同的存儲空間來執行web作業,都意味着在我的工作PC上運行的舊代碼在Azure做之前就已經找到了工作。輕鬆修復:只要確保沒有exure在Azure之外運行!