Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Sie WebJobs mithilfe des Azure-Portals bereitstellen, um eine ausführbare Datei oder ein Skript hochzuladen. WebJobs ist ein Feature von Azure App Service , mit dem Sie ein Programm oder Skript in derselben Instanz wie eine Web-App ausführen können. Alle App-Dienstpläne unterstützen WebJobs. Es fallen keine zusätzlichen Kosten für die Verwendung von WebJobs an.
Übersicht
WebJobs ist ein Feature von Azure App Service, mit dem Sie ein Programm oder Skript in derselben Instanz wie eine Web-App ausführen können. Alle App-Dienstpläne unterstützen WebJobs. Es fallen keine zusätzlichen Kosten für die Verwendung von WebJobs an.
Wenn Sie Visual Studio anstelle des Azure App Service zum Entwickeln und Bereitstellen von WebJobs verwenden, lesen Sie " Entwickeln und Bereitstellen von WebJobs mit Visual Studio".
Azure Functions bietet eine weitere Möglichkeit zum Ausführen von Programmen und Skripts. Einen Vergleich zwischen WebJobs und Funktionen finden Sie unter Auswählen der richtigen Integrations- und Automatisierungsdienste in Azure.
WebJob-Typen
Unterstützte Dateitypen für Skripts oder Programme
Wichtig
WebJobs werden in benutzerdefinierten Linux-Containern, die auf Alpine Linux basieren, nicht unterstützt, einschließlich Linux-Apps mit Java 8- und Java 11-Laufzeitstapeln. Ab Java 17-Linux-Apps verwendet Azure App Service Images, die nicht auf Alpine basieren und mit WebJobs kompatibel sind.
Die folgenden Dateitypen werden unterstützt:
- Verwenden von Windows cmd: .cmd, .bat, .exe
- Verwenden von PowerShell: .ps1
- Verwenden von Bash: .sh
- Verwenden von Node.js: .js
- Verwenden von Java: .jar
Die für die Ausführung dieser Dateitypen erforderlichen Laufzeiten sind bereits auf der Web-App-Instanz installiert.
Fortlaufende und ausgelöste WebJobs
Die folgende Tabelle beschreibt die Unterschiede zwischen fortlaufenden und ausgelösten WebJobs:
Fortlaufend | Ausgelöst |
---|---|
Werden sofort nach Erstellung des WebJobs gestartet. Damit der Auftrag nicht beendet wird, wird das Programm oder Skript in der Regel in einer Endlosschleife ausgeführt. Wenn der Auftrag beendet ist, können Sie ihn neu starten. Wird in der Regel mit dem WebJobs SDK verwendet. | Werden nur gestartet, wenn sie manuell oder nach einem Zeitplan ausgelöst werden. |
Werden in allen Instanzen ausgeführt, in denen die Web-App ausgeführt wird. Sie können den WebJob wahlweise auf eine einzelne Instanz beschränken. | Werden in einer einzelnen Instanz ausgeführt, die Azure zum Lastenausgleich auswählt. |
Unterstützen Remotedebuggen. | Bieten keine Unterstützung für Remotedebuggen. |
Code wird unter \site\wwwroot\app_data\Jobs\Continuous bereitgestellt. |
Code wird unter \site\wwwroot\app_data\Jobs\Triggered bereitgestellt. |
Hinweis
Für eine Web-App kann nach 20 Minuten Inaktivität ein Timeout auftreten, und dieser Zeitgeber kann nur durch Anforderungen an die tatsächliche Web-App zurückgesetzt werden. Das Anzeigen der App-Konfiguration im Azure-Portal oder das Senden von Anforderungen an die Website für erweiterte Tools setzt den Timer nicht zurück. Wenn Sie die Web-App festlegen, die Ihren Auftrag für die kontinuierliche Ausführung hostet, sie nach einem Zeitplan ausführen oder ereignisgesteuerte Trigger verwenden, aktivieren Sie die Einstellung "Immer aktivieren" im Azure-Konfigurationsbereich Ihrer Web-App. Die Einstellung "Immer aktiviert " hilft sicherzustellen, dass diese Arten von WebJobs zuverlässig ausgeführt werden. Dieses Feature steht nur in den Tarifen „Basic“, „Standard“ und „Premium“ zur Verfügung.
Erstellen eines fortlaufenden WebJobs
Wichtig
Wenn Sie die Quellcodeverwaltung mit Ihrer Anwendung konfiguriert haben, sollten die Webaufträge im Rahmen der Integration der Quellcodeverwaltung bereitgestellt werden. Nachdem die Quellcodeverwaltung für Ihre Anwendung konfiguriert wurde, kann ein Webauftrag nicht über das Azure-Portal hinzugefügt werden.
Navigieren Sie im Azure-Portal zur Seite App Service Ihrer Web-App, API-App oder mobilen App von App Service.
Wählen Sie unter "Einstellungen " im linken Bereich "WebJobs" und dann "Hinzufügen" aus.
Füllen Sie die Einstellungen für WebJob hinzufügen gemäß den Angaben in der Tabelle aus, und wählen Sie dann WebJob erstellen aus.
Einstellung Beispielwert BESCHREIBUNG Name myContinuousWebJob Ein eindeutiger WebJob-Name. Muss mit einem Buchstaben oder einer Zahl beginnen und darf keine anderen Sonderzeichen als "-"
und"_"
.Dateiupload ConsoleApp.zip Eine ZIP-Datei, die die ausführbare Datei oder Skriptdatei sowie für die Ausführung des Programms oder Skripts erforderliche Hilfsdateien enthält. Die unterstützten Typen von ausführbarer Datei oder Skriptdatei werden im Abschnitt Unterstützte Dateitypen aufgeführt. Typ Fortlaufend Die WebJob-Typen werden weiter oben in diesem Artikel beschrieben. Skalieren Mehrere Instanzen Diese Option ist nur für fortlaufende WebJobs verfügbar. Legt fest, ob das Programm oder Skript auf allen Instanzen oder einer Instanz ausgeführt wird. Die Option zum Ausführen auf mehreren Instanzen gilt nicht für die Tarife „Free“ oder „Shared“. Der neue WebJob wird auf der Seite WebJobs angezeigt. Wenn Sie eine Meldung sehen, die besagt, dass der WebJob hinzugefügt wurde, Sie sie aber nicht sehen, wählen Sie Aktualisieren.
Um einen fortlaufenden WebJob zu beenden oder neu zu starten, klicken Sie mit der rechten Maustaste auf den WebJob in der Liste, wählen Sie die Schaltfläche Beenden bzw. Ausführen aus, und bestätigen Sie dann Ihre Auswahl.
Erstellen eines manuell ausgelösten WebJobs
Navigieren Sie im Azure-Portal zur Seite App Service Ihrer Web-App, API-App oder mobilen App von App Service.
Wählen Sie unter "Einstellungen " im linken Bereich "WebJobs" und dann "Hinzufügen" aus.
Füllen Sie die Einstellungen für WebJob hinzufügen gemäß den Angaben in der Tabelle aus, und wählen Sie dann WebJob erstellen aus.
Einstellung Beispielwert BESCHREIBUNG Name myTriggeredWebJob Ein eindeutiger WebJob-Name. Muss mit einem Buchstaben oder einer Zahl beginnen und darf keine anderen Sonderzeichen als "-"
und"_"
.Dateiupload ConsoleApp1.zip Eine ZIP-Datei, die die ausführbare Datei oder Skriptdatei sowie für die Ausführung des Programms oder Skripts erforderliche Hilfsdateien enthält. Die unterstützten Typen von ausführbarer Datei oder Skriptdatei werden im Abschnitt Unterstützte Dateitypen aufgeführt. Typ Ausgelöst Die WebJob-Typen sind vorher in diesem Artikel beschrieben. Trigger Manuell Der neue WebJob wird auf der Seite WebJobs angezeigt. Wenn Sie eine Meldung sehen, die besagt, dass der WebJob hinzugefügt wurde, Sie sie aber nicht sehen, wählen Sie Aktualisieren.
Um einen manuell ausgelösten WebJob auszuführen, klicken Sie mit der rechten Maustaste auf den WebJob in der Liste, und wählen Sie die Schaltfläche Ausführen aus. Bestätigen Sie dann Ihre Auswahl.
Erstellen eines geplanten WebJobs
Ein geplanter WebJob wird ebenfalls ausgelöst. Sie können die automatische Auslösung des Triggers nach dem von Ihnen angegebenen Zeitplan planen.
Navigieren Sie im Azure-Portal zur Seite App Service Ihrer Web-App, API-App oder mobilen App von App Service.
Wählen Sie unter "Einstellungen " im linken Bereich "WebJobs" und dann "Hinzufügen" aus.
Füllen Sie die Einstellungen für WebJob hinzufügen gemäß den Angaben in der Tabelle aus, und wählen Sie dann WebJob erstellen aus.
Einstellung Beispielwert BESCHREIBUNG Name myScheduledWebJob Ein eindeutiger WebJob-Name. Muss mit einem Buchstaben oder einer Zahl beginnen und darf keine anderen Sonderzeichen als "-"
und"_"
.Dateiupload ConsoleApp.zip Eine ZIP-Datei, die die ausführbare Datei oder Skriptdatei sowie für die Ausführung des Programms oder Skripts erforderliche Hilfsdateien enthält. Die unterstützten Typen von ausführbarer Datei oder Skriptdatei werden im Abschnitt Unterstützte Dateitypen aufgeführt. Typ Ausgelöst Die WebJob-Typen werden weiter oben in diesem Artikel beschrieben. Trigger Geplant Damit die Planung zuverlässig funktioniert, aktivieren Sie das Feature „Always On“. Dieses Feature steht nur in den Tarifen „Basic“, „Standard“ und „Premium“ zur Verfügung. CRON-Ausdruck 0 0/20 * * * * CRON-Ausdrücke werden im folgenden Abschnitt beschrieben. Der neue WebJob wird auf der Seite WebJobs angezeigt. Wenn Sie eine Meldung sehen, die besagt, dass der WebJob hinzugefügt wurde, Sie sie aber nicht sehen, wählen Sie Aktualisieren.
Der geplante WebJob wird gemäß dem vom CRON-Ausdruck definierten Zeitplan ausgeführt. Um ihn manuell zu einem beliebigen Zeitpunkt auszuführen, klicken Sie mit der rechten Maustaste auf den WebJob in der Liste, und wählen Sie die Schaltfläche Ausführen aus. Bestätigen Sie dann Ihre Auswahl.
NCRONTAB-Ausdrücke
Ein NCRONTAB-Ausdruck ähnelt einem CRON-Ausdruck, enthält jedoch ein zusätzliches sechstes Feld am Anfang für die Zeitgenauigkeit in Sekunden. Sie können einen NCRONTAB-Ausdruck im Portal eingeben oder eine settings.job
-Datei dem Stammverzeichnis Ihrer WebJob-ZIP-Datei hinzufügen, wie im folgenden Beispiel gezeigt:
{
"schedule": "0 */15 * * * *"
}
Weitere Informationen finden Sie unter Planen eines ausgelösten WebJobs.
Hinweis
Die Standardzeitzone, die für die Ausführung von CRON-Ausdrücken verwendet wird, ist Coordinated Universal Time (UTC). Wenn Sie möchten, dass Ihr CRON-Ausdruck gemäß einer anderen Zeitzone ausgeführt wird, erstellen Sie eine App-Einstellung für Ihre Funktions-App mit dem Namen WEBSITE_TIME_ZONE. Weitere Informationen finden Sie unter NCRONTAB-Zeitzonen.
Verwalten von WebJobs
Sie können den Ausführungsstatus einzelner WebJobs verwalten, die auf Ihrer Website ausgeführt werden, indem Sie das Azure-Portal verwenden. Wechseln Sie zu Einstellungen>WebJobs, und wählen Sie den WebJob aus. Dort können Sie den WebJob starten und beenden. Sie können auch das Kennwort des Webhooks anzeigen und ändern, der den WebJob ausführt.
Sie können auch eine App-Einstellung mit dem Namen WEBJOBS_STOPPED
und einem Wert von 1
konfigurieren, um alle WebJobs auf Ihrer Website zu stoppen. Anhand dieser Methode können Sie verhindern, dass in Konflikt stehende WebJobs sowohl in Staging- als auch in Produktionsslots ausgeführt werden. Sie können auf ähnliche Weise den Wert 1
für die WEBJOBS_DISABLE_SCHEDULE
Einstellung verwenden, um ausgelöste WebJobs auf der Website oder in einem Stagingslot zu deaktivieren. Denken Sie bei Slots daran, die Einstellungsoption Bereitstellungsslot zu aktivieren, damit die Einstellung selbst nicht ausgetauscht wird.
Anzeigen des Auftragsverlaufs
Wählen Sie für den WebJob, den Sie anzeigen möchten, Protokolle aus.
Wählen Sie auf der Seite Details zum WebJob einen Zeitpunkt aus, um die Details für eine Ausführung anzuzeigen.
Auf der Seite WebJob-Ausführungsdetails können Sie Herunterladen auswählen, um eine Textdatei der Protokolle abzurufen, oder oben auf der Seite den WebJobs-Breadcrumblink auswählen, um Protokolle für einen anderen WebJob anzuzeigen.
WebJob-Status
Nachfolgend finden Sie eine Liste allgemeiner WebJob-Zustände:
- Initialisieren: Die App wurde gestartet, und der WebJob durchläuft seinen Initialisierungsprozess.
- Start: Der WebJob wird gestartet.
- Im Gange: Der WebJob wird ausgeführt.
- PendingRestart: Ein fortlaufender WebJob wird in weniger als zwei Minuten beendet, da er aus irgendeinem Grund gestartet wurde, und der App-Dienst wartet 60 Sekunden, bevor der WebJob neu gestartet wird. Wird der fortlaufende WebJob nach mehr als zwei Minuten beendet, wartet App Service nicht die 60 Sekunden ab und startet den WebJob sofort neu.
- Beendet: Der WebJob wurde beendet (normalerweise aus dem Azure-Portal) und läuft derzeit nicht. Er wird erst ausgeführt, wenn Sie ihn manuell starten, auch bei einem kontinuierlichen oder geplanten WebJob.
- Aborted: Hierfür gibt es viele Gründe, z. B. wenn ein langwieriger WebJob die Timeoutmarkierung erreicht.