Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure WebJobs est une fonctionnalité intégrée d’Azure App Service qui vous permet d’exécuter des tâches, des scripts et des programmes en arrière-plan en même temps que vos applications web, API ou mobiles. WebJobs simplifie l’automatisation des opérations courantes, telles que le traitement des données, le redimensionnement des images, la gestion des files d’attente ou le nettoyage des fichiers, en s’exécutant dans le même environnement évolutif et géré que votre application.
Choisir les WebJobs
Les WebJobs sont bien adaptées quand :
- Vous hébergez déjà votre application sur App Service.
- Vous souhaitez déployer et gérer des tâches en arrière-plan avec votre application.
- Vous n’avez pas besoin d’un modèle de mise à l’échelle distinct ou de déclencheurs basés sur des événements en dehors de la planification ou de l’interrogation simple des files d'attente.
Pour des charges de travail plus évolutives, hébergées indépendamment ou pilotées par des événements, envisagez d’utiliser Azure Functions.
Fonctionnalités clés
- Exécuter des tâches en arrière-plan sans provisionner une infrastructure distincte
- Déclencher des travaux à la demande, selon une planification ou en continu
- Utiliser plusieurs langages et plateformes de script
- Déployer à l’aide du portail Azure, de Visual Studio, du déploiement zip ou des pipelines d’automatisation
- Surveiller et résoudre les problèmes à l’aide des diagnostics Kudu ou App Service
- Intégrer à d’autres services Azure tels que Stockage Azure, Event Hubs ou Service Bus
Types de tâches web
Les webJobs sont fournis dans trois types principaux :
- Tâches web déclenchées : exécutez à la demande ou en réponse à des événements spécifiques. Vous pouvez les déclencher manuellement ou à partir d’un service comme Stockage Azure.
-
Tâches web planifiées : type spécialisé de tâches web déclenchées qui s’exécute selon une planification définie à l’aide d’un
settings.job
fichier avec des expressions NCRONTAB. - Tâches web continues : exécutez de façon permanente en arrière-plan pendant l’exécution de votre application App Service. Idéal pour les tâches de sondage de file d'attente ou de surveillance en arrière-plan.
Plateformes et types de fichiers pris en charge
Les "WebJobs" sont pris en charge sur les options d'hébergement App Service suivantes :
- Code Windows
- Conteneurs Windows
- Code Linux
- Conteneurs Linux
Les types de fichier/script pris en charge sont les suivants :
- Exécutables et scripts Windows :
.exe
,.cmd
,.bat
- Scripts PowerShell :
.ps1
- Scripts Bash :
.sh
- Langages de script : Python (
.py
), Node.js (.js
), PHP (.php
), F# (.fsx
) - Tout runtime de langage inclus dans votre application conteneur
Cette polyvalence vous permet d’intégrer webJobs dans un large éventail d’architectures d’application à l’aide des outils et des langages que vous connaissez déjà.
Options de déploiement
Vous pouvez déployer des tâches web à l’aide de plusieurs méthodes :
- Portail Azure ou chargement zip : chargez manuellement vos fichiers de script ou de travail.
- Visual Studio : Déployez directement avec votre application ASP.NET sur Windows App Service.
- Pipelines CI/CD : Automatisez le déploiement avec GitHub Actions, Azure DevOps ou Azure CLI.
- Modèles ARM/Bicep : Déployez l’infrastructure et les travaux de manière déclarative.
WebJobs fournit également une journalisation intégrée via Kudu et l’intégration avec les diagnostics App Service pour vous aider à surveiller l’activité des travaux et à résoudre les problèmes.
Mise à l'échelle - Éléments à prendre en compte
Les WebJobs s'adaptent avec votre plan App Service. Si votre application est configurée pour effectuer un scale-out vers plusieurs instances, vos tâches web s’exécutent sur chaque instance en fonction des besoins :
- Les tâches web déclenchées s’exécutent sur une seule instance par défaut.
-
Les tâches web continues peuvent être configurées pour s’exécuter sur toutes les instances ou un seul à l’aide du
WEBJOBS_RUN_ONCE
paramètre.
Si vous avez besoin d’une exécution évolutive ou pilotée par les événements indépendamment, Azure Functions peut être plus approprié.
Meilleures pratiques
- Utilisez les WebJobs déclenchés pour les opérations ad hoc ou planifiées.
- Utilisez des tâches web continues uniquement lorsque la tâche doit s’exécuter constamment (par exemple, interroger une file d’attente).
- Implémentez la logique de nouvelle tentative et la gestion des erreurs dans vos scripts.
- Utilisez la journalisation des applications et les journaux Kudu pour surveiller le comportement du travail.
- Séparez la logique de travail de la logique d’application principale lorsque cela est possible.
- Utilisez des déclencheurs basés sur le stockage (par exemple, des files d’attente Azure) pour une communication fiable et découplée.
Choisir votre scénario
Objectif | Article |
---|---|
Exécuter rapidement une tâche web planifiée | Démarrage rapide : Créer une tâche web planifiée |
Créer une tâche web manuellement à l’aide de scripts ou de code | Créer une tâche web dans Azure App Service |
Suivre un tutoriel à l’aide d’un cas d’usage pratique | Tutoriel : Exécuter des tâches en arrière-plan avec webJobs |
Étapes suivantes
- Bonnes pratiques relatives aux travaux en arrière-plan – Centre d’architecture Azure
- Développer des tâches web à l’aide de Visual Studio
- Prise en main du Kit de développement logiciel (SDK) WebJobs
- Utiliser le Kit de développement logiciel (SDK) WebJobs pour créer des travaux avancés
- Informations de référence sur Kudu WebJobs sur GitHub