問題在於每天安排一個長時間運行的azure webjob。每次運行需要2-4個小時進行數據分析。唯一的依賴是使用Azure SQL數據庫通過EF和Azure存儲,只需在App.Config上設置AzureWebJobsDashboard和AzureWebJobsStorage連接,使用webjob SDK在VS上進行標準設置。大部分時間的網絡工作都與EF的SaveChanges()一起使用。 我也做了大量的日誌記錄來監視aprox 3000行控制檯輸出的進度。 Web應用程序配置爲Allways ON,並且WEBJOBS_IDLE_TIMEOUT設置爲非常高的數字。由於Azure存儲超時導致長時間運行webjob失敗
以下是錯誤的日誌:
[二○一六年十月二十○日七時48分17秒> 492c46:ERR]未處理的異常:Microsoft.WindowsAzure.Storage.StorageException:客戶端無法完成在指定的時間內運行。 ---> System.TimeoutException:客戶端無法在指定的超時時間內完成操作。
[2016年10月20日7時48分17秒> 492c46:ERR] ---內部異常堆棧跟蹤的結尾---
[2016年10月20日7時48分17秒> 492c46:在Microsoft.WindowsAzure.Storage.Core.Util.StorageAsyncResult`1.End()
[10/20/2016 07:48:17> 492c46:ERR] .EndUploadText(IAsyncResult asyncResult)
[10/20/2016 07:48:17> 492c46:ERR] at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions。 <> c__DisplayClass4.b__3(IAsyncResult ar)
感謝您指出,我已將WEBJOBS_IDLE_TIMEOUT配置爲大量數據,並且我的實例始終處於開啓狀態。我將通過編輯上面的問題來添加這兩點。關於你的第三個建議,我的控制檯輸出是大約3000行,但我生成每個至少一秒鐘。 – donquijote
你看過https://github.com/Azure/azure-webjobs-sdk/issues/755嗎?嘗試降級您的Azure存儲SDK。 – iikkoo