我有一个Azure辅助角色,它正在处理来自服务总线队列的消息。我收到的特定消息导致损坏的堆异常,我无法捕获和处理。这导致我的系统进入Unknown / Unhealthy状态:
状态:未知(角色已报告为不健康。)
我正在尝试保护工作者角色不会进入此状态但是由于再次发生这种情况,我希望工作者角色重新启动,但它只是坐在那里直到我手动重新启动它。
如果堆损坏,有没有人对我可以做什么来强制重启?
我知道我可以通过退出Run()
循环来强制执行角色回收,但是如何检查堆是否已损坏?工作者角色中是否有可以提供帮助的设置?
答案 0 :(得分:1)
事实证明,您无法捕获损坏的堆,并且处理此方案的唯一方法是让您的工作者角色中运行一个进程,如果它崩溃,您将监视并重新启动。问题是工人角色永远不会崩溃。