【发布时间】:2016-03-17 06:01:20
【问题描述】:
我有一个带有 QueueTrigger 的 Azure WebJob,它一直在工作。现在它有很高比例的失败消息。失败将进入有害消息队列,但没有报告其他错误。失败不会出现在 webjobs 仪表板中,输出窗口中也不会出现错误。如果我在调试模式下本地运行 webjob,同样的事情。所有成功的消息都会显示并显示为成功。失败只是鬼魂。他们似乎只是直接下毒。所有消息都基于相同的 POCO 类,并且消息本身的任何内容都看起来不正确。我过去曾遇到过这个网络作业的问题,但它总是在某处显示错误。我找不到任何信息可以为我指明正确的方向。
更新:我接受了网络作业并删除了几乎所有的代码......只是想看看会发生什么。它适用于每条消息。我现在的代码中没有任何 try/catch 块可以阻止异常或其他错误显示出来。为什么工作会默默地死去(但只是一部分时间)?
【问题讨论】:
-
您是否将 Web 应用的 Always On 标志设置为 true?您可以发布初始化 JobHost 的方法的代码吗?
-
我也有同样的问题。我怀疑这可能是由于重复运行导致内存泄漏。我确实曾经遇到过内存不足的异常,但它已经失败了 10 次而没有给出该错误。我在消费计划中,所以理论上它不应该因为内存不足而出错;它应该只收取我的费用
-
您是否正在创建任何 X509Certificate2 对象?我遇到了 Azure Web 应用程序静默失败并重新启动应用程序池的问题,因为我没有将正确的参数传递给构造函数。
-
@Dessus:这当然可能是一个复合内存泄漏问题。我需要挖掘更多。我现在正在重新审视这个问题,因为我的应用程序的 V2 即将发布。乔恩:没有证书对象。我认为可能是问题的一件事是 blob 存储。我的工作使用上传的文件作为其处理的一部分。我将文件上传到 Azure 存储,然后为 WebJob 排队 POCO 消息。因为 C# 存储上传是异步的,所以在队列消息处理开始之前文件可能没有完全上传,WebJob 无法获取完整文件。将发布更新。
标签: azure azure-webjobs azure-webjobssdk