Azure 如何检查 WorkerRole 的状态?
我看到 Azure 如何定期检查我的辅助角色的状态,但是如何检查呢?
RoleEntryPoint 中没有方法可以执行此操作,我正在使用 ILSpy 查看 Microsoft.WindowsAzure.ServiceRuntime 的类,但没有看到任何相关内容。
I see how Azure checks the status of my worker role periodically, but how?
There is no method in RoleEntryPoint
to do that, and I'm taking a look on Microsoft.WindowsAzure.ServiceRuntime
's classes with ILSpy but I don't see anything relevant.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是 博客文章,描述 Windows Azure Fabric 控制器如何监视实例运行状况。
除此之外,控制器每 15 秒调用一次 StatusCheck 事件,您可以处理该事件。如果您想将自己从负载均衡器中拉出来(可能基于您的实例拥有的一些内部数据),您只需对 RoleEnvironmentStatusCheckEventArgs 对象调用 SetBusy() 即可。这将使您退出负载均衡器,直到下一次检查。
Here's a blog post that describes how the Windows Azure Fabric Controller monitors instance health.
Aside from that, the controller calls a StatusCheck event, every 15 seconds, that you can handle. If you want to pull yourself out of the load balancer (maybe based on some internal data your instance has), you just call SetBusy() on the RoleEnvironmentStatusCheckEventArgs object. This takes you out of the load balancer until the next check.
我认为该机制与用于 WebRoles 的机制相同,
Azure RoleEnvironment 执行 StatusCheck - 请参阅 http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.roleenvironment.statuscheck.aspx
如果您想告知服务您所在的位置busy 然后在该事件触发时调用 SetBusy()
I think the mechanism is the same as the one used for WebRoles
the Azure RoleEnvironment performs a StatusCheck - see http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.roleenvironment.statuscheck.aspx
If you want to tell the service you are busy then call SetBusy() when this event fires