2014-02-11 4 views
17

Ich plane, eine Website zu Azure bereitzustellen, die Web Jobs verwenden wird.Wird ein Azure Web-Auftrag auf mehreren Instanzen ausgeführt?

Wenn die Site für die Ausführung auf mehreren Instanzen hochskaliert wird, sollte ich erwarten, dass der Job auch auf allen Instanzen gestartet wird (gleichzeitig ausgeführt wird), oder kann ich nur eine Instanz des Jobs erwarten eine Zeit ? Kann dies in Azure konfiguriert werden?

Antwort

26

Ich nehme an, Sie verwenden Continuous WebJobs und nicht manuell/Geplant. In diesem Fall wird es auf allen Instanzen gleichzeitig ausgeführt. Damit dies ordnungsgemäß funktioniert, müssen Sie im Standardmodus ausgeführt werden und die Einstellung Immer aktiviert aktiviert haben.

Wenn Sie das tun nicht wollen, dass es auf allen Instanzen ausführen, können Sie legen Sie es, indem eine Datei zusammen mit Ihren WebJob Dateien namens settings.job in ‚Singleton‘ Modus. Es sollte enthalten:

{ "is_singleton": true } 

Beachten Sie, dass bei der Kudu Process Explorer UI verwenden, können Sie auf eine einzelne Instanz eine Verbindung herstellen, und nicht sehen Prozesse von anderen Instanzen. Verwenden Sie stattdessen die in Preview Portal erstellte Processes-Benutzeroberfläche (https://portal.azure.com/), in der Prozesse in allen Instanzen angezeigt werden.

+1

Implizieren Sie, dass Web-Jobs, die geplant sind, nicht auf mehreren Instanzen hochgespielt werden, wie Continuous-Jobs sein werden? Danke – DavideB

+5

Richtig. Geplante Jobs werden jedes Mal genau einmal ausgeführt, wenn der Zeitplan ausgelöst wird. –

+0

Ich habe einen fortlaufenden Web-Job und ich habe zwei bis drei große Instanzen im Standard-Modus mit immer eingeschaltet ... Meine Jobs laufen immer nur auf einem der w3wp-Prozesse. Ich brauche diese zu skalieren, aber sie werden nicht .. Irgendwelche Ideen –

Verwandte Themen