Freigeben über


Tutorial: Erstellen eines geplanten WebJobs

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 Service-Pläne unterstützen WebJobs ohne zusätzliche Kosten. Dieses Tutorial führt Sie durch das Erstellen eines geplanten (ausgelösten) WebJobs mit Ihrem bevorzugten Entwicklungsstack.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
  • Ein vorhandener App-Dienst .NET 9-App.
  • Always On muss in Ihrer App aktiviert sein.
  • Stellen Sie sicher, dass für Windows-Container und alle Linux-Apps die App-Einstellung WEBSITE_SKIP_RUNNING_KUDUAGENT auf false gesetzt ist.

WebJob lokal vorbereiten

  1. In diesem Schritt erstellen Sie ein einfaches .NET WebJob-Projekt, und navigieren zum Projektstamm.

    dotnet new console -n webjob –framework net9.0
    
    cd webjob
    
  2. Ersetzen Sie als Nächstes Program.cs durch den folgenden Code, der die aktuelle Uhrzeit in die Konsole schreibt:

    using System; 
    
    class Program 
    { 
        static void Main() 
        { 
            DateTimeOffset now = DateTimeOffset.Now; 
            Console.WriteLine("Current time with is: " + now.ToString("hh:mm:ss tt zzz")); 
        } 
    }
    
  3. Führen Sie den Webjob im Webjob-Verzeichnis aus, um zu bestätigen, dass die aktuelle Uhrzeit an die Konsole ausgegeben wird:

    dotnet run
    

    Die Ausgabe sollte in etwa wie folgt aussehen:

    Current time with is: 07:53:07 PM -05:00
    
  4. Nachdem Sie bestätigt haben, dass die App funktioniert, erstellen Sie sie, und navigieren Sie zum übergeordneten Verzeichnis:

    dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true
    
  5. (Nur Linux) Erstellen Sie im Projektstamm einen run.sh mit dem folgenden Code, um die erstellte ausführbare Datei auszuführen:

    #!/bin/bash
    
    ./webjob
    
  6. Packen Sie die Dateien nun in eine .zip, wie im folgenden Befehl gezeigt:

    zip -j webjob.zip bin/Release/net9.0/win-x64/publish/webjob.exe
    

Erstellen eines geplanten WebJobs in Azure

  1. Wechseln Sie im Azure-Portal zur App Service-Seite Ihrer App Service-App.

  2. Wählen Sie im linken Bereich WebJobs und dann Hinzufügen aus.

    Screenshot: Hinzufügen eines WebJob-Elements in einer App Service-App im Portal (geplanter WebJob).

  3. 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. Achten Sie darauf, dass Sie für Datei-Upload die .zip Datei auswählen, die Sie zuvor erstellt oder heruntergeladen haben.

    Screenshot: Konfigurieren eines geplanten WebJobs in einer App Service-App

    Konfiguration Wert Beschreibung
    Name Webaufgabe Der Name des WebJobs. Muss mit einem Buchstaben oder einer Ziffer beginnen und darf als Sonderzeichen nur „-“ und „_“ enthalten.
    Dateiupload webjob.zip Die .zip Datei, die die ausführbare Datei oder Skriptdatei enthält. Die unterstützten Dateitypen sind im Abschnitt "Unterstützte Dateitypen " aufgeführt.
    Typ Ausgelöst Gibt an, wann der WebJob ausgeführt wird: Fortlaufend oder Ausgelöst.
    Auslöser Geplant Geplant oder Manuell. Stellen Sie sicher, dass Always On aktiviert ist, damit der Zeitplan zuverlässig funktioniert.
    CRON-Ausdruck 0 0/1 * * * * Für diesen Schnellstart verwenden wir einen Zeitplan, der jede Minute läuft. Weitere Informationen zur Syntax finden Sie unter CRON-Ausdrücke .
  4. Der neue WebJob wird auf der Seite WebJobs angezeigt. Wenn Sie eine Meldung sehen, die besagt, dass der WebJob hinzugefügt wurde, Sie ihn aber nicht sehen, wählen Sie Aktualisieren aus.

  5. Der geplante WebJob wird nach dem vom CRON-Ausdruck definierten Zeitplan ausgeführt.

    Screenshot: Ausführen eines manuell geplanten WebJobs im Azure-Portal

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 Service-Pläne unterstützen WebJobs ohne zusätzliche Kosten. In diesem Beispiel wird ein geplanter (ausgelöster) WebJob verwendet, um die Systemzeit einmal pro Minute auszugeben.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
  • Eine vorhandene Linux Python-App.
  • Always On muss in Ihrer App aktiviert sein.
  • Stellen Sie sicher, dass die App-Einstellung WEBSITE_SKIP_RUNNING_KUDUAGENT auf false.

Vorbereiten des WebJob-Beispiels

  1. Laden Sie das vorgefertigte Beispielprojekt herunter, um schnell loszulegen. Das Beispiel enthält die Datei webjob.py, die die aktuelle Uhrzeit wie unten dargestellt in die Konsole ausgibt:

    import datetime 
    
    current_datetime = datetime.datetime.now() 
    print(current_datetime) # Output: 2025-03-27 10:27:21.240752
    
  2. Extrahieren Sie die heruntergeladene ZIP-Datei, und erstellen Sie dann eine neue ZIP-Datei, die nur die webjob.py Datei enthält (ohne übergeordnetes Verzeichnis). WebJobs erfordert, dass sich die ausführbare Datei oder das Skript im Stammverzeichnis der ZIP-Datei befinden.

Erstellen eines geplanten WebJobs

  1. Wechseln Sie im Azure-Portal zur App Service-Seite Ihrer App Service-App.

  2. Wählen Sie im linken Bereich WebJobs und dann Hinzufügen aus.

    Screenshot: Hinzufügen eines WebJob-Elements in einer App Service-App im Portal (geplanter WebJob).

  3. 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. Wählen Sie für den Dateiupload unbedingt die .zip Datei aus, die Sie zuvor im Abschnitt " Vorbereiten des WebJob-Beispiels " erstellt haben.

    Screenshot: Konfigurieren eines geplanten WebJobs in einer App Service-App

    Konfiguration Wert Description
    Name Webaufgabe Der Name des WebJobs. Muss mit einem Buchstaben oder einer Ziffer beginnen und darf als Sonderzeichen nur „-“ und „_“ enthalten.
    Dateiupload webjob.zip Die .zip-Datei, die webjob.py auf der Stammebene enthält. Die unterstützten Dateitypen sind im Abschnitt "Unterstützte Dateitypen " aufgeführt.
    Typ Ausgelöst Gibt an, wann der WebJob ausgeführt wird: Fortlaufend oder Ausgelöst.
    Auslöser Geplant Geplant oder Manuell. Stellen Sie sicher, dass Always On aktiviert ist, damit der Zeitplan zuverlässig funktioniert.
    CRON-Ausdruck 0 0/1 * * * * Für diesen Schnellstart verwenden wir einen Zeitplan, der jede Minute läuft. Weitere Informationen zur Syntax finden Sie unter CRON-Ausdrücke .
  4. Der neue WebJob wird auf der Seite WebJobs angezeigt. Wenn Sie eine Meldung sehen, die besagt, dass der WebJob hinzugefügt wurde, Sie ihn aber nicht sehen, wählen Sie Aktualisieren aus.

  5. Der geplante WebJob wird nach dem vom CRON-Ausdruck definierten Zeitplan ausgeführt.

    Screenshot: Ausführen eines manuell geplanten WebJobs im Azure-Portal

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 Service-Pläne unterstützen WebJobs ohne zusätzliche Kosten. In diesem Beispiel wird ein geplanter (ausgelöster) WebJob verwendet, um die Systemzeit einmal pro Minute auszugeben.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
  • Eine vorhandene App Service-Node-App.
  • Always On muss in Ihrer App aktiviert sein.
  • Stellen Sie für Linux sicher, dass die App-Einstellung WEBSITE_SKIP_RUNNING_KUDUAGENT auf false.

Vorbereiten des WebJob-Beispiels

  1. Laden Sie das vorgefertigte Beispielprojekt herunter, um schnell loszulegen. Das Beispiel enthält eine JavaScript-Datei webjob.js, die die aktuelle Zeit in die Konsole ausgibt, wie unten dargestellt:

    // Import the 'Date' object from JavaScript
    const currentTime = new Date();
    
    // Format the time as a string
    const formattedTime = currentTime.toLocaleTimeString();
    
    // Output the formatted time to the console
    console.log(`Current system time is: ${formattedTime}`);
    
  2. Extrahieren Sie die heruntergeladene ZIP-Datei, und erstellen Sie dann eine neue ZIP-Datei, die nur die webjob.js Datei enthält (ohne übergeordnetes Verzeichnis). WebJobs erfordert, dass sich die ausführbare Datei oder das Skript im Stammverzeichnis der ZIP-Datei befinden.

Erstellen eines geplanten WebJobs

  1. Wechseln Sie im Azure-Portal zur App Service-Seite Ihrer App Service-App.

  2. Wählen Sie im linken Bereich WebJobs und dann Hinzufügen aus.

    Screenshot: Hinzufügen eines WebJob-Elements in einer App Service-App im Portal (geplanter WebJob).

  3. 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. Wählen Sie für den Dateiupload unbedingt die .zip Datei aus, die Sie zuvor im Abschnitt " Vorbereiten des WebJob-Beispiels " erstellt haben.

    Screenshot: Konfigurieren eines geplanten WebJobs in einer App Service-App

    Konfiguration Wert Description
    Name Webaufgabe Der Name des WebJobs. Muss mit einem Buchstaben oder einer Ziffer beginnen und darf als Sonderzeichen nur „-“ und „_“ enthalten.
    Dateiupload webjob.zip Die ZIP-Datei, die webjob.js auf Stammebene enthält. Die unterstützten Dateitypen sind im Abschnitt "Unterstützte Dateitypen " aufgeführt.
    Typ Ausgelöst Gibt an, wann der WebJob ausgeführt wird: Fortlaufend oder Ausgelöst.
    Auslöser Geplant Geplant oder Manuell. Stellen Sie sicher, dass Always On aktiviert ist, damit der Zeitplan zuverlässig funktioniert.
    CRON-Ausdruck 0 0/1 * * * * Für diesen Schnellstart verwenden wir einen Zeitplan, der jede Minute läuft. Weitere Informationen zur Syntax finden Sie unter CRON-Ausdrücke .
  4. Der neue WebJob wird auf der Seite WebJobs angezeigt. Wenn Sie eine Meldung sehen, die besagt, dass der WebJob hinzugefügt wurde, Sie ihn aber nicht sehen, wählen Sie Aktualisieren aus.

  5. Der geplante WebJob wird nach dem vom CRON-Ausdruck definierten Zeitplan ausgeführt.

    Screenshot: Ausführen eines manuell geplanten WebJobs im Azure-Portal

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 Service-Pläne unterstützen WebJobs ohne zusätzliche Kosten. In diesem Beispiel wird ein geplanter (ausgelöster) WebJob verwendet, um die Systemzeit einmal pro Minute auszugeben.

Von Bedeutung

WebJobs werden in benutzerdefinierten Linux-Containern, die auf Alpine Linux basieren, nicht unterstützt, einschließlich Linux-Apps, die Java 8- und Java 11-Laufzeitstapel verwenden. Ab Java 17-Linux-Apps verwendet Azure App Service Images, die nicht auf Alpine basieren und mit WebJobs kompatibel sind.

Voraussetzungen

Vorbereiten des WebJobs

  1. Laden Sie das Beispiel für Java WebJob herunter. Sie erstellen eine .JAR Datei mit Maven. Das Java-Projekt, das sich bei project/src/main/java/webjob/HelloWorld.java befindet, gibt eine Nachricht und die aktuelle Uhrzeit an die Konsole aus.

    import java.time.LocalDateTime; 
    
    public class HelloWorld { 
    
        public static void main(String[] args) { 
    
            System.out.println("------------------------------------------------------------"); 
            System.out.println("Hello World from WebJob: " + LocalDateTime.now()); 
            System.out.println("------------------------------------------------------------"); 
        } 
    } 
    
  2. Erstellen und verpacken Sie das Java-Projekt, um die ausführbare Datei .jar zu erstellen, indem Sie die folgenden Befehle aus dem project/ Verzeichnis ausführen:

    mvn install 
    mvn package 
    

    Die JAR-Dateien befinden sich nach einem erfolgreichen Build unter project/target/webjob-artifact-1.0.0.jar .

  3. Packen Sie die project/target/webjob-artifact-1.0.0.jar Datei als .zip Datei.

    zip webjob.zip project/target/webjob-artifact-1.0.0.jar
    

Erstellen eines geplanten WebJobs in Azure

  1. Wechseln Sie im Azure-Portal zur App Service-Seite Ihrer App Service-App.

  2. Wählen Sie im linken Bereich WebJobs und dann Hinzufügen aus.

    Screenshot: Hinzufügen eines WebJob-Elements in einer App Service-App im Portal (geplanter WebJob).

  3. 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. Wählen Sie für den Dateiupload unbedingt die .zip Datei aus, die Sie im vorherigen Abschnitt erstellt haben.

    Screenshot: Konfigurieren eines geplanten WebJobs in einer App Service-App

    Konfiguration Wert Beschreibung
    Name Webaufgabe Der Name des WebJobs. Muss mit einem Buchstaben oder einer Ziffer beginnen und darf als Sonderzeichen nur „-“ und „_“ enthalten.
    Dateiupload webjob.zip Die .zip Datei, die enthält webjob-artifact-1.0.0.jar. Die unterstützten Dateitypen sind im Abschnitt "Unterstützte Dateitypen " aufgeführt.
    Typ Ausgelöst Gibt an, wann der WebJob ausgeführt wird: Fortlaufend oder Ausgelöst.
    Auslöser Geplant Geplant oder Manuell. Stellen Sie sicher, dass Always On aktiviert ist, damit der Zeitplan zuverlässig funktioniert.
    CRON-Ausdruck 0 0/1 * * * * Für diesen Schnellstart verwenden wir einen Zeitplan, der jede Minute läuft. Weitere Informationen zur Syntax finden Sie unter CRON-Ausdrücke .
  4. Der neue WebJob wird auf der Seite WebJobs angezeigt. Wenn Sie eine Meldung sehen, die besagt, dass der WebJob hinzugefügt wurde, Sie ihn aber nicht sehen, wählen Sie Aktualisieren aus.

  5. Der geplante WebJob wird nach dem vom CRON-Ausdruck definierten Zeitplan ausgeführt.

    Screenshot: Ausführen eines manuell geplanten WebJobs im Azure-Portal

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 Service-Pläne unterstützen WebJobs ohne zusätzliche Kosten. In diesem Beispiel wird ein geplanter (ausgelöster) WebJob verwendet, um die Systemzeit einmal pro Minute auszugeben.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Kostenlos ein Konto erstellen.
  • Eine vorhandene App Service-PHP-App unter Linux. In dieser Schnellstartanleitung wird eine PHP-App verwendet.
  • Always On muss in Ihrer App aktiviert sein.
  • Stellen Sie sicher, dass die App-Einstellung WEBSITE_SKIP_RUNNING_KUDUAGENT auf false festgelegt ist.

Vorbereiten des WebJob-Beispiels

  1. Laden Sie das vorgefertigte Beispielprojekt herunter, um schnell loszulegen. Das Beispiel enthält die PHP-Datei webjob.php, die die aktuelle Zeit in die Konsole ausgibt, wie unten dargestellt:

    <?php
    // Get the current time
    $current_time = date("Y-m-d H:i:s");
    
    // Display the current time
    echo "The current time is: " . $current_time;
    ?>
    
  2. Extrahieren Sie die heruntergeladene ZIP-Datei, und erstellen Sie dann eine neue ZIP-Datei, die nur die webjob.php Datei enthält (ohne übergeordnetes Verzeichnis). WebJobs erfordert, dass sich die ausführbare Datei oder das Skript im Stammverzeichnis der ZIP-Datei befinden.

Erstellen eines geplanten WebJobs

  1. Wechseln Sie im Azure-Portal zur App Service-Seite Ihrer App Service-App.

  2. Wählen Sie im linken Bereich WebJobs und dann Hinzufügen aus.

    Screenshot: Hinzufügen eines WebJob-Elements in einer App Service-App im Portal (geplanter WebJob).

  3. 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. Wählen Sie für den Dateiupload unbedingt die .zip Datei aus, die Sie zuvor im Abschnitt " Vorbereiten des WebJob-Beispiels " erstellt haben.

    Screenshot: Konfigurieren eines geplanten WebJobs in einer App Service-App

    Konfiguration Wert Description
    Name Webaufgabe Der Name des WebJobs. Muss mit einem Buchstaben oder einer Ziffer beginnen und darf als Sonderzeichen nur „-“ und „_“ enthalten.
    Dateiupload webjob.zip Die .zip-Datei, die webjob.php auf der Stammebene enthält. Die unterstützten Dateitypen sind im Abschnitt "Unterstützte Dateitypen " aufgeführt.
    Typ Ausgelöst Gibt an, wann der WebJob ausgeführt wird: Fortlaufend oder Ausgelöst.
    Auslöser Geplant Geplant oder Manuell. Stellen Sie sicher, dass Always On aktiviert ist, damit der Zeitplan zuverlässig funktioniert.
    CRON-Ausdruck 0 0/1 * * * * Für diesen Schnellstart verwenden wir einen Zeitplan, der jede Minute läuft. Weitere Informationen zur Syntax finden Sie unter CRON-Ausdrücke .
  4. Der neue WebJob wird auf der Seite WebJobs angezeigt. Wenn Sie eine Meldung sehen, die besagt, dass der WebJob hinzugefügt wurde, Sie ihn aber nicht sehen, wählen Sie Aktualisieren aus.

  5. Der geplante WebJob wird nach dem vom CRON-Ausdruck definierten Zeitplan ausgeführt.

    Screenshot: Ausführen eines manuell geplanten WebJobs im Azure-Portal

Hinweis

Die Standardzeitzone, die für die Ausführung von CRON-Ausdrücken verwendet wird, ist koordinierte Weltzeit (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.

Überprüfen der WebJob-Protokolle

Wählen Sie das Protokoll für den WebJob aus, den Sie zuvor erstellt haben.

Screenshot: Anzeigen von WebJob-Protokollen in einer App Service-App im Portal (geplanter WebJob)

Die Ausgabe sollte in etwa wie folgt aussehen:

Screenshot, der die WebJobs-Protokollausgabe zeigt.

Aufräumen

Um den WebJob zu entfernen, markieren Sie den WebJob im Portal und wählen Sie Delete.

Screenshot, der zeigt, wie Sie einen WebJob im Portal löschen können.

Nächster Schritt

Entdecken Sie erweiterte WebJob-Szenarien, einschließlich Triggern und Bereitstellungsoptionen