Delen via


Zelfstudie: Een ingeplande webjob aanmaken

WebJobs is een functie van Azure App Service waarmee u een programma of script kunt uitvoeren in hetzelfde exemplaar als een web-app. Alle App Service-abonnementen bieden ondersteuning voor WebJobs zonder extra kosten. Deze zelfstudie helpt u bij het maken van een geplande (getriggerde) WebJob met behulp van de ontwikkelstack van uw voorkeur.

Vereiste voorwaarden

  • Een Azure-account met een actief abonnement. Gratis een account maken
  • Een bestaande App-dienst .NET 9 app.
  • Altijd aan moet zijn ingeschakeld in uw app.
  • Voor Windows-containers en alle Linux-apps moet u ervoor zorgen dat de app-instelling WEBSITE_SKIP_RUNNING_KUDUAGENT is ingesteld op false.

Bereid de WebJob lokaal voor

  1. In deze stap maakt u een eenvoudig .NET WebJob-project en navigeert u naar de hoofdmap van het project.

    dotnet new console -n webjob –framework net9.0
    
    cd webjob
    
  2. Vervang Program.cs met de volgende code die de huidige tijd naar de console schrijft:

    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. Voer vanuit de map webjob de webjob uit om te bevestigen dat de huidige tijd op de console wordt weergegeven.

    dotnet run
    

    U zou een uitvoer moeten zien die lijkt op het volgende:

    Current time with is: 07:53:07 PM -05:00
    
  4. Zodra u hebt bevestigd dat de app werkt, bouwt u deze en gaat u naar de bovenliggende map:

    dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true
    
  5. (alleen Linux) Maak in de hoofdmap van het project een run.sh met de volgende code om het ingebouwde uitvoerbare bestand uit te voeren:

    #!/bin/bash
    
    ./webjob
    
  6. Verpak de bestanden nu in een .zip, zoals wordt weergegeven in de volgende opdracht:

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

Een geplande WebJob maken in Azure

  1. Ga in de Azure Portal naar de pagina App Service van uw App Service-app.

  2. Selecteer in het linkerdeelvenster WebJobs en kies vervolgens Toevoegen.

    Schermopname die laat zien hoe je een webtaak toevoegt aan een App Service-app in het portaal (geplande webtaak).

  3. Vul de instellingen voor webtaak toevoegen in zoals opgegeven in de tabel en selecteer vervolgens Webtaak maken. Zorg ervoor dat u voor het uploaden van bestanden het .zip bestand selecteert dat u eerder hebt gemaakt of gedownload.

    Schermopname van het configureren van een geplande webtaak in een App Service-app.

    Configuratie waarde Beschrijving
    Naam webbaan De naam van WebJob. Moet beginnen met een letter of een getal en mag geen speciale tekens bevatten dan '-' en '_'.
    Bestand uploaden webjob.zip Het .zip bestand dat uw uitvoerbaar bestand of scriptbestand bevat. De ondersteunde bestandstypen worden vermeld in de sectie Ondersteunde bestandstypen .
    Typ Geactiveerd Hiermee geeft u op wanneer de WebJob wordt uitgevoerd: Continu of Getriggerd.
    Triggermomenten Gepland Gepland of handmatig. Zorg ervoor dat Altijd aan is ingeschakeld om de planning betrouwbaar te laten werken.
    CRON-expressie 0 0/1 * * * * Voor deze quickstart gebruiken we een schema dat elke minuut wordt uitgevoerd. Zie CRON-expressies voor meer informatie over de syntaxis.
  4. De nieuwe webtaak wordt weergegeven op de pagina WebJobs . Als u een bericht ziet met de mededeling dat de webtaak is toegevoegd, maar u deze niet ziet, selecteert u Vernieuwen.

  5. De geplande webtaak wordt uitgevoerd volgens het schema dat is gedefinieerd door de CRON-expressie.

    Schermopname van het uitvoeren van een handmatig geplande webtaak in Azure Portal.

WebJobs is een functie van Azure App Service waarmee u een programma of script kunt uitvoeren in hetzelfde exemplaar als een web-app. Alle app-serviceplannen bieden ondersteuning voor WebJobs zonder extra kosten. In dit voorbeeld wordt een geplande (getriggerde) webtaak gebruikt om de systeemtijd eenmaal per minuut uit te voeren.

Vereiste voorwaarden

  • Een Azure-account met een actief abonnement. Gratis een account maken
  • Een bestaande Linux Python-app.
  • Altijd aan moet zijn ingeschakeld in uw app.
  • Zorg ervoor dat de app-instelling WEBSITE_SKIP_RUNNING_KUDUAGENT is ingesteld op false.

De voorbeeldwebtaak voorbereiden

  1. Download het vooraf samengestelde voorbeeldproject om snel aan de slag te gaan. Het voorbeeld bevat het bestand webjob.py, dat de huidige tijd naar de console uitvoert, zoals hieronder wordt weergegeven:

    import datetime 
    
    current_datetime = datetime.datetime.now() 
    print(current_datetime) # Output: 2025-03-27 10:27:21.240752
    
  2. Pak het gedownloade ZIP-bestand uit en maak vervolgens een nieuw ZIP-bestand met alleen het webjob.py bestand (zonder een bovenliggende map). Voor WebJobs moet het uitvoerbare bestand of het script zich in de hoofdmap van het zip-bestand hebben.

Een geplande webtaak maken

  1. Ga in de Azure Portal naar de pagina App Service van uw App Service-app.

  2. Selecteer in het linkerdeelvenster WebJobs en kies vervolgens Toevoegen.

    Schermopname die laat zien hoe je een webtaak toevoegt aan een App Service-app in het portaal (geplande webtaak).

  3. Vul de instellingen voor webtaak toevoegen in zoals opgegeven in de tabel en selecteer vervolgens Webtaak maken. Selecteer voor Bestand uploaden het .zip bestand dat u eerder hebt gemaakt in de sectie De voorbeeldwebtaak voorbereiden .

    Schermopname van het configureren van een geplande webtaak in een App Service-app.

    Configuratie waarde Description
    Naam webbaan De naam van WebJob. Moet beginnen met een letter of een getal en mag geen speciale tekens bevatten dan '-' en '_'.
    Bestand uploaden webjob.zip Het .zip-bestand dat webjob.py op het hoofdniveau bevat. De ondersteunde bestandstypen worden vermeld in de sectie Ondersteunde bestandstypen .
    Typ Geactiveerd Hiermee geeft u op wanneer de WebJob wordt uitgevoerd: Continu of Getriggerd.
    Triggermomenten Gepland Gepland of handmatig. Zorg ervoor dat Altijd aan is ingeschakeld om de planning betrouwbaar te laten werken.
    CRON-expressie 0 0/1 * * * * Voor deze quickstart gebruiken we een schema dat elke minuut wordt uitgevoerd. Zie CRON-expressies voor meer informatie over de syntaxis.
  4. De nieuwe webtaak wordt weergegeven op de pagina WebJobs . Als u een bericht ziet met de mededeling dat de webtaak is toegevoegd, maar u deze niet ziet, selecteert u Vernieuwen.

  5. De geplande webtaak wordt uitgevoerd volgens het schema dat is gedefinieerd door de CRON-expressie.

    Schermopname van het uitvoeren van een handmatig geplande webtaak in Azure Portal.

WebJobs is een functie van Azure App Service waarmee u een programma of script kunt uitvoeren in hetzelfde exemplaar als een web-app. Alle app-serviceplannen bieden ondersteuning voor WebJobs zonder extra kosten. In dit voorbeeld wordt een geplande (getriggerde) webtaak gebruikt om de systeemtijd eenmaal per minuut uit te voeren.

Vereiste voorwaarden

  • Een Azure-account met een actief abonnement. Gratis een account maken
  • Een bestaande App Service Node-app.
  • Altijd aan moet zijn ingeschakeld in uw app.
  • Voor Linux moet u ervoor zorgen dat de app-instelling WEBSITE_SKIP_RUNNING_KUDUAGENT is ingesteld op false.

De voorbeeldwebtaak voorbereiden

  1. Download het vooraf samengestelde voorbeeldproject om snel aan de slag te gaan. Het voorbeeld bevat een JavaScript-bestand webjob.js, dat de huidige tijd naar de console uitvoert, zoals hieronder wordt weergegeven:

    // 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. Pak het gedownloade ZIP-bestand uit en maak vervolgens een nieuw ZIP-bestand met alleen het webjob.js bestand (zonder een bovenliggende map). Voor WebJobs moet het uitvoerbare bestand of het script zich in de hoofdmap van het zip-bestand hebben.

Een geplande webtaak maken

  1. Ga in de Azure Portal naar de pagina App Service van uw App Service-app.

  2. Selecteer in het linkerdeelvenster WebJobs en kies vervolgens Toevoegen.

    Schermopname die laat zien hoe je een webtaak toevoegt aan een App Service-app in het portaal (geplande webtaak).

  3. Vul de instellingen voor webtaak toevoegen in zoals opgegeven in de tabel en selecteer vervolgens Webtaak maken. Selecteer voor Bestand uploaden het .zip bestand dat u eerder hebt gemaakt in de sectie De voorbeeldwebtaak voorbereiden .

    Schermopname van het configureren van een geplande webtaak in een App Service-app.

    Configuratie waarde Description
    Naam webbaan De naam van WebJob. Moet beginnen met een letter of een getal en mag geen speciale tekens bevatten dan '-' en '_'.
    Bestand uploaden webjob.zip Het .zip-bestand dat webjob.js op rootniveau bevat. De ondersteunde bestandstypen worden vermeld in de sectie Ondersteunde bestandstypen .
    Typ Geactiveerd Hiermee geeft u op wanneer de WebJob wordt uitgevoerd: Continu of Getriggerd.
    Triggermomenten Gepland Gepland of handmatig. Zorg ervoor dat Altijd aan is ingeschakeld om de planning betrouwbaar te laten werken.
    CRON-expressie 0 0/1 * * * * Voor deze quickstart gebruiken we een schema dat elke minuut wordt uitgevoerd. Zie CRON-expressies voor meer informatie over de syntaxis.
  4. De nieuwe webtaak wordt weergegeven op de pagina WebJobs . Als u een bericht ziet met de mededeling dat de webtaak is toegevoegd, maar u deze niet ziet, selecteert u Vernieuwen.

  5. De geplande webtaak wordt uitgevoerd volgens het schema dat is gedefinieerd door de CRON-expressie.

    Schermopname van het uitvoeren van een handmatig geplande webtaak in Azure Portal.

WebJobs is een functie van Azure App Service waarmee u een programma of script kunt uitvoeren in hetzelfde exemplaar als een web-app. Alle app-serviceplannen bieden ondersteuning voor WebJobs zonder extra kosten. In dit voorbeeld wordt een geplande (getriggerde) webtaak gebruikt om de systeemtijd eenmaal per minuut uit te voeren.

Belangrijk

WebJobs worden niet ondersteund in aangepaste Linux-containers op basis van Alpine Linux, inclusief Linux-apps die gebruikmaken van Java 8- en Java 11-runtimestacks. Vanaf Java 17 Linux-apps maakt Azure App Service gebruik van niet-Alpine-installatiekopieën, die compatibel zijn met WebJobs.

Vereiste voorwaarden

Bereid de WebJob voor

  1. Download de java-voorbeeldwebtaak. U maakt een .JAR bestand met Maven. Het Java-project dat zich bevindt op project/src/main/java/webjob/HelloWorld.java voert een bericht en de huidige tijd naar de console uit.

    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. Bouw en pakket het Java-project om het uitvoerbare bestand .jar te produceren door de volgende opdrachten uit te voeren vanuit de project/ map:

    mvn install 
    mvn package 
    

    De jar-bestanden zullen zich bevinden op project/target/webjob-artifact-1.0.0.jar na een succesvolle build.

  3. Pak het project/target/webjob-artifact-1.0.0.jar bestand in als een .zip bestand.

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

Een geplande webtaak maken in Azure

  1. Ga in de Azure Portal naar de pagina App Service van uw App Service-app.

  2. Selecteer in het linkerdeelvenster WebJobs en kies vervolgens Toevoegen.

    Schermopname die laat zien hoe je een webtaak toevoegt aan een App Service-app in het portaal (geplande webtaak).

  3. Vul de instellingen voor webtaak toevoegen in zoals opgegeven in de tabel en selecteer vervolgens Webtaak maken. Selecteer voor Bestand uploaden het .zip bestand dat u in de vorige sectie hebt gemaakt.

    Schermopname van het configureren van een geplande webtaak in een App Service-app.

    Configuratie waarde Beschrijving
    Naam webbaan De naam van WebJob. Moet beginnen met een letter of een getal en mag geen speciale tekens bevatten dan '-' en '_'.
    Bestand uploaden webjob.zip Het .zip-bestand met webjob-artifact-1.0.0.jar. De ondersteunde bestandstypen worden vermeld in de sectie Ondersteunde bestandstypen .
    Typ Geactiveerd Hiermee geeft u op wanneer de WebJob wordt uitgevoerd: Continu of Getriggerd.
    Triggermomenten Gepland Gepland of handmatig. Zorg ervoor dat Altijd aan is ingeschakeld om de planning betrouwbaar te laten werken.
    CRON-expressie 0 0/1 * * * * Voor deze quickstart gebruiken we een schema dat elke minuut wordt uitgevoerd. Zie CRON-expressies voor meer informatie over de syntaxis.
  4. De nieuwe webtaak wordt weergegeven op de pagina WebJobs . Als u een bericht ziet met de mededeling dat de webtaak is toegevoegd, maar u deze niet ziet, selecteert u Vernieuwen.

  5. De geplande webtaak wordt uitgevoerd volgens het schema dat is gedefinieerd door de CRON-expressie.

    Schermopname van het uitvoeren van een handmatig geplande webtaak in Azure Portal.

WebJobs is een functie van Azure App Service waarmee u een programma of script kunt uitvoeren in hetzelfde exemplaar als een web-app. Alle app-serviceplannen bieden ondersteuning voor WebJobs zonder extra kosten. In dit voorbeeld wordt een geplande (getriggerde) webtaak gebruikt om de systeemtijd eenmaal per minuut uit te voeren.

Vereiste voorwaarden

  • Een Azure-account met een actief abonnement. Gratis een account maken
  • Een bestaande App Service PHP-app op Linux. In deze quickstart wordt gebruik gemaakt van een PHP-app .
  • Altijd aan moet zijn ingeschakeld in uw app.
  • Zorg ervoor dat de app-instelling WEBSITE_SKIP_RUNNING_KUDUAGENT is ingesteld op false.

De voorbeeldwebtaak voorbereiden

  1. Download het vooraf samengestelde voorbeeldproject om snel aan de slag te gaan. Het voorbeeld bevat het PHP-bestand webjob.php, dat de huidige tijd naar de console uitvoert, zoals hieronder wordt weergegeven:

    <?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. Pak het gedownloade ZIP-bestand uit en maak vervolgens een nieuw ZIP-bestand met alleen het webjob.php bestand (zonder een bovenliggende map). Voor WebJobs moet het uitvoerbare bestand of het script zich in de hoofdmap van het zip-bestand hebben.

Een geplande webtaak maken

  1. Ga in de Azure Portal naar de pagina App Service van uw App Service-app.

  2. Selecteer in het linkerdeelvenster WebJobs en kies vervolgens Toevoegen.

    Schermopname die laat zien hoe je een webtaak toevoegt aan een App Service-app in het portaal (geplande webtaak).

  3. Vul de instellingen voor webtaak toevoegen in zoals opgegeven in de tabel en selecteer vervolgens Webtaak maken. Selecteer voor Bestand uploaden het .zip bestand dat u eerder hebt gemaakt in de sectie De voorbeeldwebtaak voorbereiden .

    Schermopname van het configureren van een geplande webtaak in een App Service-app.

    Configuratie waarde Description
    Naam webbaan De naam van WebJob. Moet beginnen met een letter of een getal en mag geen speciale tekens bevatten dan '-' en '_'.
    Bestand uploaden webjob.zip Het .zip-bestand dat webjob.php bevat op het hoofdniveau. De ondersteunde bestandstypen worden vermeld in de sectie Ondersteunde bestandstypen .
    Typ Geactiveerd Hiermee geeft u op wanneer de WebJob wordt uitgevoerd: Continu of Getriggerd.
    Triggermomenten Gepland Gepland of handmatig. Zorg ervoor dat Altijd aan is ingeschakeld om de planning betrouwbaar te laten werken.
    CRON-expressie 0 0/1 * * * * Voor deze quickstart gebruiken we een schema dat elke minuut wordt uitgevoerd. Zie CRON-expressies voor meer informatie over de syntaxis.
  4. De nieuwe webtaak wordt weergegeven op de pagina WebJobs . Als u een bericht ziet met de mededeling dat de webtaak is toegevoegd, maar u deze niet ziet, selecteert u Vernieuwen.

  5. De geplande webtaak wordt uitgevoerd volgens het schema dat is gedefinieerd door de CRON-expressie.

    Schermopname van het uitvoeren van een handmatig geplande webtaak in Azure Portal.

Opmerking

De standaardtijdzone die wordt gebruikt om CRON-expressies uit te voeren, is Coordinated Universal Time (UTC). Als u wilt dat uw CRON-expressie wordt uitgevoerd op basis van een andere tijdzone, maakt u een app-instelling voor de functie-app met de naam WEBSITE_TIME_ZONE. Zie NCRONTAB-tijdzones voor meer informatie.

De WebJob-logboeken bekijken

Selecteer het logboek voor de WebJob die u eerder hebt gemaakt.

Schermafbeelding die laat zien hoe u WebJob-logboeken bekijkt in een App Service-app in de portal (geplande WebJob).

Het resultaat dient er ongeveer als volgt uit te zien.

Schermafbeelding die de uitvoer van het WebJobs-logboek weergeeft.

Schoonmaken

Als u de webtaak wilt verwijderen, selecteert u de webtaak in de portal en selecteert u Delete.

Screenshot die laat zien hoe u een WebJob in de portal kunt verwijderen.

Volgende stap

Verken meer geavanceerde WebJob-scenario's, inclusief triggers en implementatieopties