问题在于每日计划中长时间运行的 azure webjob。每次运行需要 2-4 小时进行数据分析。唯一的依赖关系是通过 EF 和 Azure 存储使用 Azure SQL 数据库,只需在 App.Config 上设置 AzureWebJobsDashboard 和 AzureWebJobsStorage 连接,在 VS 上使用 webjob SDK 进行标准设置。webjob 的大部分时间都被 EF 的 SaveChanges() 所消耗。我还使用大约 3000 行控制台输出进行大量日志记录以监控进度。Web 应用程序配置为 Allways ON,并且 WEBJOBS_IDLE_TIMEOUT 设置为非常高的数字。
以下是错误日志:
[10/20/2016 07:48:17 > 492c46: ERR] 未处理的异常:Microsoft.WindowsAzure.Storage.StorageException:客户端无法在指定的超时时间内完成操作。---> System.TimeoutException:客户端无法在指定的超时时间内完成操作。
[10/20/2016 07:48:17 > 492c46: ERR ] --- 内部异常堆栈跟踪结束 ---
[10/20/2016 07:48:17 > 492c46: ERR] 在 Microsoft.WindowsAzure.Storage.Core.Util.StorageAsyncResult`1.End()
[10/20/2016 07:48:17 > 492c46: ERR ] 在 Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.EndUploadText(IAsyncResult asyncResult)
[10/20/2016 07:48:17 > 492c46: ERR ] 在 Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass4.b__3(IAsyncResult ar)