Jobs
Aperçu
Les jobs sont des conteneurs planifiés, qui se déclenchent soit sur une base temporelle, soit sur une base liée aux ressources.
Planification
Toutes les planifications comportent un volet temporel et un volet basé sur les ressources. En raison de la nature des différentes charges de travail, l’utilisateur peut choisir l’entité qui déclenche.
Planifications principalement basées sur le temps
Les planifications temporelles sont des planifications fixes qui exigent qu’un job s’exécute dans un intervalle donné. Ces jobs tolèrent seulement un retard minimal, donc la consommation de ressources n’est qu’un facteur décisionnel secondaire pour déclencher un job.
Bons exemples de planifications temporelles :
- un CronJob qui vérifie toutes les 5 minutes la présence de nouveaux enregistrements dans une base de données
- un CronJob qui vérifie toutes les 15 minutes la présence de nouveaux utilisateurs enregistrés
Planifications principalement basées sur les ressources
Les planifications basées sur les ressources sont des planifications souples qui exigent qu’un job s’exécute dans une certaine plage d’un intervalle. Ces jobs peuvent tolérer un calendrier plus flexible afin d’optimiser la disponibilité et la consommation des ressources.
Bons exemples de planifications basées sur les ressources
- un Job qui vérifie un flux RSS, s’exécutant au moins une fois par semaine, au plus une fois par jour, en fonction des préférences de ressources disponibles
- un Job qui vérifie les pull requests GitHub et exécute diverses suites de tests, lorsque les ressources sont disponibles, mais au moins une fois par jour
Variables d’environnement du runtime
| variable | modifiable | description |
|---|---|---|
| DTZ_ACCESS_TOKEN | oui (l’identité peut être modifiée) | JWT généré à partir du contexte, permettant d’accéder aux ressources de ce contexte. |
| DTZ_CONTEXT_ID | non | Contexte DTZ dans lequel l’application actuelle s’exécute |