6 Stimmen

Wie überprüft Azure den Status der WorkerRole?

Ich sehe, wie Azure den Status meiner Arbeitsrolle regelmäßig überprüft, aber wie?

Es gibt keine Methode in RoleEntryPoint zu tun, und ich schaue mir gerade die Microsoft.WindowsAzure.ServiceRuntime Klassen mit ILSpy, aber ich sehe nichts Relevantes.

4voto

Stuart Punkte 66386

Ich denke, der Mechanismus ist derselbe wie bei den WebRoles

führt die Azure RoleEnvironment einen StatusCheck durch - siehe http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.serviceruntime.roleenvironment.statuscheck.aspx

Wenn Sie dem Dienst mitteilen möchten, dass Sie beschäftigt sind, rufen Sie SetBusy() auf, wenn dieses Ereignis ausgelöst wird

4voto

David Makogon Punkte 66908

Hier ist ein Blog-Beitrag die beschreibt, wie der Windows Azure Fabric Controller den Zustand der Instanzen überwacht.

Abgesehen davon ruft der Controller alle 15 Sekunden ein StatusCheck-Ereignis auf, das Sie bearbeiten können. Wenn Sie sich selbst aus dem Load Balancer herausnehmen wollen (vielleicht aufgrund einiger interner Daten, die Ihre Instanz hat), rufen Sie einfach SetBusy() für das RoleEnvironmentStatusCheckEventArgs-Objekt auf. Dadurch werden Sie bis zur nächsten Prüfung aus dem Load Balancer herausgenommen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X