Jobs
Overview
Les jobs sont des conteneurs planifiés, qui se déclenchent soit sur une base temporelle, soit sur une base de ressources.
Scheduling
Toutes les planifications ont une composante temporelle et une composante basée sur les ressources. En raison de la nature des différentes charges de travail, l’utilisateur peut décider de l’entité déclenchante.
Primarily time-based schedules
Les planifications basées principalement sur le temps sont des horaires fixes qui exigent qu’un job s’exécute dans un certain intervalle. Ces jobs ne tolèrent qu’une quantité minimale de retard, donc la consommation de ressources n’est qu’un facteur décisionnel secondaire pour déclencher un job.
Bons exemples de planifications basées sur le temps sont :
- 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 les nouveaux utilisateurs inscrits
Primarily resource-based schedules
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, chaque fois que des ressources sont disponibles, mais au moins une fois par jour
Environment Variables from the runtime
| variable | modifiable | description |
|---|---|---|
| DTZ_ACCESS_TOKEN | oui (l’identité peut être modifiée) | JWT généré à partir du contexte qui permet d’accéder aux ressources au sein du contexte. |
| DTZ_CONTEXT_ID | non | Contexte DTZ dans lequel l’application actuelle s’exécute |