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.
Azure WebJobs ist ein integriertes Feature von Azure App Service , mit dem Sie Hintergrundaufgaben, Skripts und Programme zusammen mit Ihren Web-, API- oder mobilen Anwendungen ausführen können. WebJobs vereinfachen die Automatisierung für allgemeine Vorgänge wie Datenverarbeitung, Bildänderung, Warteschlangenverarbeitung oder Dateibereinigung, indem sie in derselben skalierbaren, verwalteten Umgebung wie Ihre Anwendung ausgeführt wird.
Auswählen von WebJobs
WebJobs eignen sich gut, wenn:
- Sie hosten Ihre Anwendung bereits im App Service.
- Sie möchten Hintergrundaufgaben zusammen mit Ihrer App bereitstellen und verwalten.
- Sie benötigen kein separates Skalierungsmodell oder ereignisbasierte Trigger über die grundlegende Planung oder Warteschlangenabfragung hinaus.
Für skalierbarere, unabhängig gehostete oder ereignisgesteuerte Workloads sollten Sie azure Functions verwenden.
Wichtige Funktionen
- Ausführen von Hintergrundaufgaben ohne Bereitstellung einer separaten Infrastruktur
- Auslösen von Aufträgen bei Bedarf, nach einem Zeitplan oder kontinuierlich
- Verwenden mehrerer Sprachen und Skriptplattformen
- Bereitstellen über das Azure-Portal, Visual Studio, ZIP-Bereitstellung oder Automatisierungspipelines
- Überwachung und Problemlösung mit der Kudu- oder App Service-Diagnose
- Integration in andere Azure-Dienste wie Azure Storage, Event Hubs oder Service Bus
WebJob-Typen
WebJobs kommen in drei Haupttypen:
- Ausgelöste WebJobs: Ausführen bei Bedarf oder als Reaktion auf bestimmte Ereignisse. Sie können sie manuell oder von einem Dienst wie Azure Storage auslösen.
-
Geplante WebJobs: Ein spezieller Typ von ausgelöstem WebJob, der mit einer
settings.job
Datei mit NCRONTAB-Ausdrücken auf einem definierten Zeitplan ausgeführt wird. - Fortlaufende WebJobs: Dauerhafte Ausführung im Hintergrund, während die App Service-App ausgeführt wird. Ideal für Warteschlangenabfragungs- oder Hintergrundüberwachungsaufgaben.
Unterstützte Plattformen und Dateitypen
WebJobs werden für die folgenden App Service-Hostingoptionen unterstützt:
- Windows-Code
- Windows-Container
- Linux-Code
- Linux-Container
Zu den unterstützten Datei-/Skripttypen gehören:
- Ausführbare Windows-Dateien und Skripts:
.exe
, ,.cmd
.bat
- PowerShell-Skripts:
.ps1
- Bash-Skripts:
.sh
- Skriptsprachen: Python (
.py
), Node.js (), PHP (.js
), F# (.php
.fsx
) - In Ihrer Container-App enthaltene Runtime in beliebiger Sprache
Mit dieser Vielseitigkeit können Sie WebJobs in eine vielzahl von Anwendungsarchitekturen integrieren, indem Sie die Tools und Sprachen verwenden, mit denen Sie sich bereits vertraut sind.
Bereitstellungsoptionen
Sie können WebJobs mit mehreren Methoden bereitstellen:
- Azure-Portal oder ZIP-Upload: Manuelles Hochladen Ihrer Skript- oder Auftragsdateien.
- Visual Studio: Stellen Sie direkt mit Ihrer ASP.NET-App in Windows App Service bereit.
- CI/CD-Pipelines: Automatisieren der Bereitstellung mit GitHub-Aktionen, Azure DevOps oder Azure CLI.
- ARM/Bicep-Vorlagen: Deklarativ bereitstellen von Infrastruktur und Aufträgen.
WebJobs bieten zudem integrierte Protokollierung über Kudu und Integration in die App Service-Diagnose, um Sie beim Überwachen der Auftragsaktivität und beim Beheben von Problemen zu unterstützen.
Überlegungen zur Skalierung
WebJobs skalieren zusammen mit Ihrem App Service-Plan. Wenn Ihre App so konfiguriert ist, dass sie auf mehrere Instanzen skaliert wird, werden Ihre WebJobs je nach Bedarf auf jeder Instanz ausgeführt:
- Ausgelöste WebJobs werden standardmäßig auf einer einzelnen Instanz ausgeführt.
-
Fortlaufende WebJobs können so konfiguriert werden, dass sie auf allen Instanzen oder einer einzelnen Instanz ausgeführt werden, die die
WEBJOBS_RUN_ONCE
Einstellung verwendet.
Wenn Sie unabhängig skalierbare oder ereignisgesteuerte Ausführung benötigen, ist Azure Functions möglicherweise geeigneter.
Bewährte Methoden
- Verwenden Sie ausgelöste WebJobs für spontane oder geplante Aufgaben.
- Verwenden Sie fortlaufende WebJobs nur, wenn die Aufgabe permanent ausgeführt werden muss (z. B. Abfragen einer Warteschlange).
- Implementieren Sie Wiederholungslogik und Fehlerbehandlung in Ihren Skripts.
- Verwenden Sie Anwendungsprotokollierung und Kudu-Protokolle , um das Auftragsverhalten zu überwachen.
- Trennen Sie die Auftragslogik nach Möglichkeit von der Haupt-App-Logik .
- Verwenden Sie speicherbasierte Trigger (z. B. Azure-Warteschlangen) für eine zuverlässige, entkoppelte Kommunikation.
Auswählen Ihres Szenarios
Ziel | Artikel |
---|---|
Schnelles Ausführen eines geplanten WebJobs | Schnellstart: Erstellen eines geplanten WebJobs |
Manuelles Erstellen eines WebJob mithilfe von Skripts oder Code | Erstellen eines WebJobs in Azure App Service |
Ein Tutorial durcharbeiten mit einem praktischen Beispiel | Lernprogramm: Ausführen von Hintergrundaufgaben mit WebJobs |