2014-06-26 4 views
15

Was passiert, wenn ich einen kontinuierlich laufenden Azure WebJob mit einem Warteschlangen-Trigger (Warteschlangenverbindung in app.config) in einem Deployment-Slot bereitstellen (z. B. "Staging")?Azure WebJobs und Bereitstellungssteckplätze

Fängt es an zu laufen und Nachrichten in der Warteschlange zu hören oder wird nur im Produktions-Slot starten?

Meine Angst ist, dass, wenn nur die Verarbeitung von Nachrichten aus der Warteschlange beginnen wird, auch wenn es noch nicht im Produktions-Slot ist. Wenn dies der Fall ist, sollte der Warteschlangenverbindungsstring von app.config in die Azure-Website-Konfiguration verschoben werden, damit meine Staging- und Produktions-Slots in verschiedenen Warteschlangen ausgeführt werden können?

Antwort

12

Ja, es wird im Staging-Slot ausgeführt.

Wenn Sie dies nicht möchten, dann ist es in der Tat der Weg, es auf eine Staging-Warteschlange zu zeigen.

Update (11/24/2014): Sie können jetzt bestimmte Einstellungen vornehmen & Verbindungszeichenfolgen "sticky auf den Steckplatz" mit PowerShell. Siehe hierzu post für Details.

+2

Wenn wir Staging w/Produktion tauschen ... dann bedeutet, dass ich in gehen und manuell meine Warteschlangen direkt wieder zusammenbauen? Wenn ich eine "Staging" -Warteschlange für meinen "Staging" -Slot eingerichtet habe, um sie zu bearbeiten, dann zeigt meine "Produktion" (die nur "Staging" war) immer noch auf die "Staging" -Warteschlange , Recht? – ericb

+3

Sie haben Recht, und das ist nicht ideal. Wir arbeiten daran, die Situation zu verbessern, indem wir einigen Einstellungen erlauben, "sticky to the slot" zu werden. Wenn Sie also etwas auf dem Staging-Slot setzen und es als sticky markieren, wird es nicht in die Produktion wechseln. –

+0

Das klingt genau das, was ich will. Vielen Dank! – ericb

21

Slot Mit klebrigen Einstellungen können Sie nun einstellen

WEBJOBS_STOPPED = 1 

auf dem Staging-Slot. Dies verhindert, dass Webjobs auf dem Bereitstellungsslot gestartet werden, und die Einstellung verbleibt auf dem Bereitstellungsslot, wenn der Code in die Produktion ausgelagert wird.

https://github.com/projectkudu/kudu/wiki/Web-jobs#configuration-settings

+0

Das ist eine große Verbesserung. – Knelis

+1

Denken Sie nur daran, das Kontrollkästchen "Slot-Einstellung" zu aktivieren, sonst wird es in die Produktion wechseln. – mlienau

+0

Ich setze diesen Wert auf den Stage-Slot, aber nach der Aktualisierungsphase (Auto-Swapping) laufen die Webjobs immer noch auf meinem Stage-Slot. Fehle ich etwas? – scojomodena