【问题标题】:Azure worker role instance got stuckAzure 辅助角色实例卡住了
【发布时间】:2019-09-18 08:39:19
【问题描述】:

我有一个连续运行的 Worker 角色,它执行多个作业。这些作业用于处理队列消息。通常如果出现异常或任何问题,作业会失败,排队的消息会回到队列中,作业会尝试重新处理。

但自上个月以来,我遇到了一个奇怪的问题,即在过去一天左右没有处理任何消息。我在 Azure 门户上进行了调查,发现辅助角色实例仍然处于“运行”状态。由于某种原因,作业没有超时或退出,但所有消息都在队列中,未处理。

也没有引发日志或异常/错误(我在该方法中有大量的日志记录和异常处理)。

我通过 Azure 门户重新启动了辅助角色,一旦发生这种情况,所有备份的队列消息都会立即开始处理。

任何人都可以提供处理此案例的解决方案或建议吗?

【问题讨论】:

    标签: azure azure-cloud-services azure-worker-roles


    【解决方案1】:

    RDP 到 VM 并对其进行故障排除,就像在本地对其进行故障排除一样。性能计数器向您显示什么?您的进程(或任何其他进程)是否占用 CPU?事件日志中有任何内容吗?获取 WaWorkerHost.exe 的挂起转储并检查调用堆栈以查看您的代码正在做什么,或者它是否陷入死锁或无限循环之类的问题。

    您还可以检查来宾代理和主机 boostrapper 日志(请参阅 https://blogs.msdn.microsoft.com/kwill/2013/08/09/windows-azure-paas-compute-diagnostics-data/),但由于您说门户网站报告该实例处于就绪状态,所以我认为您不会在那里找到任何东西。听起来“Azure”(角色主机进程)工作正常,问题出在 WaWorkerHost.exe(您的代码)中。

    【讨论】:

    • 另外,如果一切都失败了,请打开支持事件,支持团队可以帮助您调试角色实例。
    猜你喜欢
    • 2015-10-04
    • 2013-09-23
    • 1970-01-01
    • 2011-08-22
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多