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.
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.
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.
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
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.
© 2022 - 2024 — McMap. All rights reserved.