Partager via


Tutoriel : Construire un WebJob planifié

WebJobs est une fonctionnalité d’Azure App Service qui vous permet d’exécuter un programme ou un script dans la même instance qu’une application web. Tous les plans App Service prennent en charge webJobs sans frais supplémentaires. Ce tutoriel vous guide tout au long de la création d’un WebJob planifié (déclenché) à l’aide de votre pile de développement préférée.

Conditions préalables

Préparer le WebJob localement

  1. Dans cette étape, vous créez un projet WebJob .NET de base et accédez à la racine du projet.

    dotnet new console -n webjob –framework net9.0
    
    cd webjob
    
  2. Ensuite, remplacez Program.cs par le code suivant qui écrit l’heure actuelle dans la console :

    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. À partir du répertoire webjob , exécutez webjob pour confirmer que l’heure actuelle est affichée dans la console :

    dotnet run
    

    Vous devez obtenir une sortie similaire à la suivante :

    Current time with is: 07:53:07 PM -05:00
    
  4. Une fois que vous avez confirmé que l’application fonctionne, générez-la et accédez au répertoire parent :

    dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true
    
  5. (Linux uniquement) Dans la racine du projet, créez un fichier run.sh avec le code suivant pour exécuter le fichier exécutable créé :

    #!/bin/bash
    
    ./webjob
    
  6. Maintenant, empaqueter les fichiers dans un .zip comme indiqué dans la commande suivante :

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

Créer un WebJob planifié dans Azure

  1. Dans le portail Azure, accédez à la page App Service de votre application App Service.

  2. Dans le volet gauche, sélectionnez WebJobs, puis Ajouter.

    Capture d’écran montrant comment ajouter une tâche WebJob dans une application App Service dans le portail (tâche WebJob planifiée).

  3. Renseignez les paramètres Ajouter une tâche WebJob comme spécifié dans le tableau, puis sélectionnez Créer une tâche WebJob. Pour Téléchargement de fichier, assurez-vous de sélectionner le fichier .zip que vous avez créé ou téléchargé précédemment.

    Capture d’écran montrant comment configurer tâche WebJob planifiée dans une application App Service.

    Réglage value Description
    Nom emploi en ligne Le nom de WebJob. Doit commencer par une lettre ou un chiffre et ne peut pas contenir de caractères spéciaux, hormis les tirets et les traits de soulignement (« – » et « _ »).
    Chargement de fichiers webjob.zip Le fichier .zip qui contient votre fichier exécutable ou de script. Les types de fichiers pris en charge sont répertoriés dans la section Types de fichiers pris en charge .
    Type Déclenché Spécifie quand le WebJob s’exécute : Continu ou Déclenché.
    Déclencheurs Planifié Programmé ou manuel. Assurez-vous que Always on est activé pour que la planification fonctionne de manière fiable.
    Expression CRON 0 0/1 * * * * Pour ce démarrage express, nous utilisons une planification qui s’exécute chaque minute. Voir Expressions CRON pour en savoir plus sur la syntaxe.
  4. La nouvelle tâche web apparaît dans la page WebJobs. Si vous voyez un message indiquant que la tâche web a été ajoutée, mais que vous ne la voyez pas, sélectionnez Actualiser.

  5. La tâche WebJob planifiée est exécutée selon la planification définie par l’expression CRON.

    Capture d’écran montrant comment exécuter une tâche WebJob planifiée dans le portail Azure.

WebJobs est une fonctionnalité d’Azure App Service qui vous permet d’exécuter un programme ou un script dans la même instance qu’une application web. Tous les plans App Service prennent en charge WebJobs sans frais supplémentaires. Cet exemple utilise un WebJob programmé (Triggered) pour afficher l'heure du système toutes les minutes.

Conditions préalables

Préparer l’exemple de WebJob

  1. Téléchargez l’exemple de projet prédéfini pour commencer rapidement. L’exemple inclut le fichier webjob.py, qui génère l’heure actuelle dans la console, comme indiqué ci-dessous :

    import datetime 
    
    current_datetime = datetime.datetime.now() 
    print(current_datetime) # Output: 2025-03-27 10:27:21.240752
    
  2. Extrayez le fichier zip téléchargé, puis créez un fichier zip contenant uniquement le webjob.py fichier (sans répertoire parent). WebJobs nécessite que l’exécutable ou le script soit à la racine du fichier zip.

Créer une tâche web planifiée

  1. Dans le portail Azure, accédez à la page App Service de votre application App Service.

  2. Dans le volet gauche, sélectionnez WebJobs, puis Ajouter.

    Capture d’écran montrant comment ajouter une tâche WebJob dans une application App Service dans le portail (tâche WebJob planifiée).

  3. Renseignez les paramètres Ajouter une tâche WebJob comme spécifié dans le tableau, puis sélectionnez Créer une tâche WebJob. Pour le chargement de fichiers, veillez à sélectionner le fichier .zip que vous avez créé précédemment dans la section Préparer l’exemple de tâche web .

    Capture d’écran montrant comment configurer tâche WebJob planifiée dans une application App Service.

    Réglage value Descriptif
    Nom emploi en ligne Le nom de WebJob. Doit commencer par une lettre ou un chiffre et ne peut pas contenir de caractères spéciaux, hormis les tirets et les traits de soulignement (« – » et « _ »).
    Chargement de fichiers webjob.zip Fichier .zip qui contient webjob.py au niveau racine. Les types de fichiers pris en charge sont répertoriés dans la section Types de fichiers pris en charge .
    Type Déclenché Spécifie quand le WebJob s’exécute : Continu ou Déclenché.
    Déclencheurs Planifié Programmé ou manuel. Assurez-vous que Always on est activé pour que la planification fonctionne de manière fiable.
    Expression CRON 0 0/1 * * * * Pour ce démarrage express, nous utilisons une planification qui s’exécute chaque minute. Voir Expressions CRON pour en savoir plus sur la syntaxe.
  4. La nouvelle tâche web apparaît dans la page WebJobs. Si vous voyez un message indiquant que la tâche web a été ajoutée, mais que vous ne la voyez pas, sélectionnez Actualiser.

  5. La tâche WebJob planifiée est exécutée selon la planification définie par l’expression CRON.

    Capture d’écran montrant comment exécuter une tâche WebJob planifiée dans le portail Azure.

WebJobs est une fonctionnalité d’Azure App Service qui vous permet d’exécuter un programme ou un script dans la même instance qu’une application web. Tous les plans App Service prennent en charge WebJobs sans frais supplémentaires. Cet exemple utilise un WebJob programmé (Triggered) pour afficher l'heure du système toutes les minutes.

Conditions préalables

  • Un compte Azure avec un abonnement actif. Créez un compte gratuitement.
  • Une application App Service Node existante.
  • Always on doit être activé sur votre application.
  • Pour Linux, vérifiez que le paramètre WEBSITE_SKIP_RUNNING_KUDUAGENT de l’application est défini sur false.

Préparer l’exemple de WebJob

  1. Téléchargez l’exemple de projet prédéfini pour commencer rapidement. L’exemple inclut un fichier webjob.jsJavaScript, qui génère l’heure actuelle dans la console, comme indiqué ci-dessous :

    // 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. Extrayez le fichier zip téléchargé, puis créez un fichier zip contenant uniquement le webjob.js fichier (sans répertoire parent). WebJobs nécessite que l’exécutable ou le script soit à la racine du fichier zip.

Créer une tâche web planifiée

  1. Dans le portail Azure, accédez à la page App Service de votre application App Service.

  2. Dans le volet gauche, sélectionnez WebJobs, puis Ajouter.

    Capture d’écran montrant comment ajouter une tâche WebJob dans une application App Service dans le portail (tâche WebJob planifiée).

  3. Renseignez les paramètres Ajouter une tâche WebJob comme spécifié dans le tableau, puis sélectionnez Créer une tâche WebJob. Pour le chargement de fichiers, veillez à sélectionner le fichier .zip que vous avez créé précédemment dans la section Préparer l’exemple de tâche web .

    Capture d’écran montrant comment configurer tâche WebJob planifiée dans une application App Service.

    Réglage value Descriptif
    Nom emploi en ligne Le nom de WebJob. Doit commencer par une lettre ou un chiffre et ne peut pas contenir de caractères spéciaux, hormis les tirets et les traits de soulignement (« – » et « _ »).
    Chargement de fichiers webjob.zip Fichier .zip qui contient webjob.js au niveau racine. Les types de fichiers pris en charge sont répertoriés dans la section Types de fichiers pris en charge .
    Type Déclenché Spécifie quand le WebJob s’exécute : Continu ou Déclenché.
    Déclencheurs Planifié Programmé ou manuel. Assurez-vous que Always on est activé pour que la planification fonctionne de manière fiable.
    Expression CRON 0 0/1 * * * * Pour ce démarrage express, nous utilisons une planification qui s’exécute chaque minute. Voir Expressions CRON pour en savoir plus sur la syntaxe.
  4. La nouvelle tâche web apparaît dans la page WebJobs. Si vous voyez un message indiquant que la tâche web a été ajoutée, mais que vous ne la voyez pas, sélectionnez Actualiser.

  5. La tâche WebJob planifiée est exécutée selon la planification définie par l’expression CRON.

    Capture d’écran montrant comment exécuter une tâche WebJob planifiée dans le portail Azure.

WebJobs est une fonctionnalité d’Azure App Service qui vous permet d’exécuter un programme ou un script dans la même instance qu’une application web. Tous les plans App Service prennent en charge WebJobs sans frais supplémentaires. Cet exemple utilise un WebJob programmé (Triggered) pour afficher l'heure du système toutes les minutes.

Important

WebJobs ne sont pas prises en charge dans les conteneurs Linux personnalisés basés sur Alpine Linux, y compris les applications Linux utilisant des piles de runtime Java 8 et Java 11. À compter des applications Linux Java 17, Azure App Service utilise des images non alpines compatibles avec WebJobs.

Conditions préalables

Préparer le WebJob

  1. Téléchargez l’exemple de webJob Java. Vous allez générer un .JAR fichier à l’aide de Maven. Le projet Java situé à project/src/main/java/webjob/HelloWorld.java affiche un message et l’heure actuelle à la console.

    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. Générez et empaquetez le projet Java pour produire l’exécutable .jar en exécutant les commandes suivantes à partir du project/ répertoire :

    mvn install 
    mvn package 
    

    Les fichiers jar seront localisés project/target/webjob-artifact-1.0.0.jar après une compilation réussie.

  3. Empaqueter le project/target/webjob-artifact-1.0.0.jar fichier en tant que .zip fichier.

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

Créer un WebJob planifié sur Azure

  1. Dans le portail Azure, accédez à la page App Service de votre application App Service.

  2. Dans le volet gauche, sélectionnez WebJobs, puis Ajouter.

    Capture d’écran montrant comment ajouter une tâche WebJob dans une application App Service dans le portail (tâche WebJob planifiée).

  3. Renseignez les paramètres Ajouter une tâche WebJob comme spécifié dans le tableau, puis sélectionnez Créer une tâche WebJob. Pour le chargement de fichiers, veillez à sélectionner le fichier .zip que vous avez créé dans la section précédente.

    Capture d’écran montrant comment configurer tâche WebJob planifiée dans une application App Service.

    Réglage value Description
    Nom emploi en ligne Le nom de WebJob. Doit commencer par une lettre ou un chiffre et ne peut pas contenir de caractères spéciaux, hormis les tirets et les traits de soulignement (« – » et « _ »).
    Chargement de fichiers webjob.zip Fichier .zip qui contient webjob-artifact-1.0.0.jar. Les types de fichiers pris en charge sont répertoriés dans la section Types de fichiers pris en charge .
    Type Déclenché Spécifie quand le WebJob s’exécute : Continu ou Déclenché.
    Déclencheurs Planifié Programmé ou manuel. Assurez-vous que Always on est activé pour que la planification fonctionne de manière fiable.
    Expression CRON 0 0/1 * * * * Pour ce démarrage express, nous utilisons une planification qui s’exécute chaque minute. Voir Expressions CRON pour en savoir plus sur la syntaxe.
  4. La nouvelle tâche web apparaît dans la page WebJobs. Si vous voyez un message indiquant que la tâche web a été ajoutée, mais que vous ne la voyez pas, sélectionnez Actualiser.

  5. La tâche WebJob planifiée est exécutée selon la planification définie par l’expression CRON.

    Capture d’écran montrant comment exécuter une tâche WebJob planifiée dans le portail Azure.

WebJobs est une fonctionnalité d’Azure App Service qui vous permet d’exécuter un programme ou un script dans la même instance qu’une application web. Tous les plans App Service prennent en charge WebJobs sans frais supplémentaires. Cet exemple utilise un WebJob programmé (Triggered) pour afficher l'heure du système toutes les minutes.

Conditions préalables

  • Un compte Azure avec un abonnement actif. Créez un compte gratuitement.
  • Une application PHP App Service existante sur Linux. Dans ce guide de démarrage rapide, une application PHP est utilisée.
  • Always on doit être activé sur votre application.
  • Vérifiez que le paramètre WEBSITE_SKIP_RUNNING_KUDUAGENT d’application est défini sur false.

Préparer l’exemple de WebJob

  1. Téléchargez l’exemple de projet prédéfini pour commencer rapidement. L’exemple contient le fichier webjob.phpPHP, qui génère l’heure actuelle dans la console, comme indiqué ci-dessous :

    <?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. Extrayez le fichier zip téléchargé, puis créez un fichier zip contenant uniquement le webjob.php fichier (sans répertoire parent). WebJobs nécessite que l’exécutable ou le script soit à la racine du fichier zip.

Créer une tâche web planifiée

  1. Dans le portail Azure, accédez à la page App Service de votre application App Service.

  2. Dans le volet gauche, sélectionnez WebJobs, puis Ajouter.

    Capture d’écran montrant comment ajouter une tâche WebJob dans une application App Service dans le portail (tâche WebJob planifiée).

  3. Renseignez les paramètres Ajouter une tâche WebJob comme spécifié dans le tableau, puis sélectionnez Créer une tâche WebJob. Pour le chargement de fichiers, veillez à sélectionner le fichier .zip que vous avez créé précédemment dans la section Préparer l’exemple de tâche web .

    Capture d’écran montrant comment configurer tâche WebJob planifiée dans une application App Service.

    Réglage value Descriptif
    Nom emploi en ligne Le nom de WebJob. Doit commencer par une lettre ou un chiffre et ne peut pas contenir de caractères spéciaux, hormis les tirets et les traits de soulignement (« – » et « _ »).
    Chargement de fichiers webjob.zip Fichier .zip qui contient webjob.php au niveau racine. Les types de fichiers pris en charge sont répertoriés dans la section Types de fichiers pris en charge .
    Type Déclenché Spécifie quand le WebJob s’exécute : Continu ou Déclenché.
    Déclencheurs Planifié Programmé ou manuel. Assurez-vous que Always on est activé pour que la planification fonctionne de manière fiable.
    Expression CRON 0 0/1 * * * * Pour ce démarrage express, nous utilisons une planification qui s’exécute chaque minute. Voir Expressions CRON pour en savoir plus sur la syntaxe.
  4. La nouvelle tâche web apparaît dans la page WebJobs. Si vous voyez un message indiquant que la tâche web a été ajoutée, mais que vous ne la voyez pas, sélectionnez Actualiser.

  5. La tâche WebJob planifiée est exécutée selon la planification définie par l’expression CRON.

    Capture d’écran montrant comment exécuter une tâche WebJob planifiée dans le portail Azure.

Remarque

Le fuseau horaire par défaut utilisé pour exécuter les expressions CRON est le Temps universel coordonné (UTC). Pour que votre expression CRON s’exécute sur un autre fuseau horaire, créez un paramètre d’application nommé WEBSITE_TIME_ZONE pour votre application de fonction. Pour en savoir plus, consultez les fuseaux horaires NCRONTAB.

Passer en revue les journaux WebJob

Sélectionnez le journal du WebJob que vous avez créé précédemment.

Capture d'écran montrant comment afficher les journaux WebJob dans une application App Service du portail (WebJob planifié).

Le résultat doit être semblable à ce qui suit.

Capture d’écran montrant la sortie des logs de WebJobs.

Nettoyage

Pour supprimer le WebJob, sélectionnez le WebJob dans le portail, puis sélectionnez Delete.

Capture d’écran montrant comment vous pouvez supprimer un WebJob dans le portail.

Étape suivante

Explorez des scénarios WebJob plus avancés, y compris les déclencheurs et les options de déploiement