首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >长期运行的due作业由于Azure存储超时而失败

长期运行的due作业由于Azure存储超时而失败
EN

Stack Overflow用户
提问于 2016-10-20 16:56:17
回答 2查看 1.3K关注 0票数 2

问题是一个长期运行的天蓝色网络工作在一个日常的时间表上。每次运行需要2-4小时进行数据分析。唯一的依赖项是通过EF使用Azure SQL数据库和使用Azure存储,只需在AzureWebJobsDashboard和AzureWebJobsStorage连接上设置App.Config,在VS上使用webjob进行标准设置。网络作业的大部分时间都使用EF的SaveChanges()。我还使用aprox 3000行控制台输出来进行重要的日志记录以监视进度。web应用程序被配置为Allways ON,WEBJOBS_IDLE_TIMEOUT设置为一个非常高的数字。

以下是错误的日志:

10/20/2016 07:48:17 > 492c46:错误未处理异常: Microsoft.WindowsAzure.Storage.StorageException:客户端无法在指定的超时内完成操作。-> System.TimeoutException:客户端无法在指定的超时内完成操作。

2016年10月20日07:48:17 > 492c46: ERR -内部异常堆栈跟踪的结束

2016年10月20日07:48:17 > 492c46: Microsoft.WindowsAzure.Storage.Core.Util.StorageAsyncResult`1.End()错误

2016年10月20日07:48:17 >492 c46: Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.EndUploadText(IAsyncResult asyncResult)

2016年10月20日07:48:17 >492 c46: Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass4.b__3(IAsyncResult ar上的错误)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-04 19:16:52

这是几个月前的事了,但对于那些晚些时候来的人.

你说你做了很多记录。在处理类似的东西时,有一个记录在案的问题。显然,WebJobs SDK定期将日志数据保存到blob存储中。如果您正在使用大量带宽或以其他方式消耗大量资源,则可能会遇到SDK试图保存到blob存储的超时。注意堆栈跟踪中的上传调用。

我偶尔看到这是在一个过程中,惩罚电线相当好,所以我是禁用日志通过WebJobs日志记录设施。

票数 1
EN

Stack Overflow用户

发布于 2016-10-20 19:22:09

如果触发的for作业空闲、没有cpu时间或在一定时间内没有输出,则会中止。尝试通过将configuration WEBJOBS_IDLE_TIMEOUT设置为一个大数目来增加它,例如3600。

如果您的实例没有始终打开配置,它也可能被中止。

如果这没有帮助,那么您应该尝试处理日志记录的数量。会不会是你试着写很多信息来加快速度呢?看看这个答案,看看是否应该是这样的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40160250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档