Concepts
Vue d'ensemble
Tâche
Une tâche est une entrée de jobs.toml : un identifiant (lettres, chiffres, -, _ ; figé après création), une description, des étiquettes, une planification et un fuseau horaire, un switch d'activation, des paramètres partagés, des préréglages, une politique de réessai, des alertes, un niveau de journal, un délai maximal — et une suite ordonnée d'étapes. Elle se modifie dans les pages des Tâches (Créer une tâche).
Étape
Une étape est une unité de travail, de l'un des dix types : sql_query, sql_copy, file_load, file_export, python, http, ldap_sync, call_job, report, notify (Étapes). Les étapes s'exécutent dans l'ordre ; une étape en échec arrête la tâche, et les suivantes sont enregistrées comme sautées.
Planification
Un cron à cinq zones évalué dans le fuseau horaire de la tâche. Les jours de la semaine se comptent à partir de 0 = lundi : les écrire en toutes lettres (mon-fri). Sans planification, la tâche ne s'exécute qu'à la demande (Planifications).
Préréglage
Un jeu de valeurs d'exécution enregistré — paramètres partagés, arguments d'étapes, étapes désactivées, niveau de journal — créé depuis Exécuter avec des paramètres. Un préréglage peut avoir sa propre planification : une tâche, plusieurs planifications avec des entrées différentes.
Déclencheur
Ce qui a lancé une exécution : scheduled (la planification de la tâche ou d'un préréglage) ou manual (un utilisateur, enregistré par son nom). Une tâche lancée par une étape call_job enregistre call_job:<tâche>@<exécution> comme origine.
Exécution
Un passage d'une tâche, avec un identifiant, son déclencheur, son début et sa fin, les lignes affectées, ses étapes et son journal. États : QUEUED, RUNNING, SUCCEEDED, FAILED, CANCELED, et MISSED pour une heure planifiée qui ne s'est pas exécutée (Historique des exécutions).
Paramètres
| Niveau | Où | S'applique à |
|---|---|---|
| Paramètres partagés | La tâche | Les arguments de chaque étape python. |
Arguments d'étape (op_kwargs) | L'étape | Cette étape — ils l'emportent sur les paramètres partagés. |
| Exécuter avec des paramètres | Une exécution | Cette exécution seulement ; jobs.toml n'est pas modifié. |
file_load lit les paramètres d'exécution sous la forme ${params.x} dans son chemin et ses constantes ; sql_query prend ses propres params.
Politique de réessai
attempts (tentatives au total, 1 = aucune nouvelle tentative), backoff (fixed ou exponential), base_seconds. S'applique à chaque étape.
Niveau de journal
WARNING, INFO (défaut) ou DEBUG (ajoute le SQL de chaque requête). Le niveau de la tâche vaut pour les exécutions planifiées ; une exécution manuelle choisit le sien.
Alertes
Une tâche peut prévenir ses destinataires quand une exécution échoue, sans aucune règle. Tout le reste — succès, annulation, planification manquée, exécution longue, un ensemble de tâches — passe par les règles de notification (Notifications).
Un exemple
La tâche sales-load a trois étapes : file_load (charger le fichier du mois), sql_query (rafraîchir les agrégats), http (appeler un service en aval). Sa planification est 0 2 * * * en Europe/Paris ; un préréglage fin-de-mois la lance selon 0 6 1 * * avec period égal au mois précédent. Chaque nuit, une exécution est enregistrée ; si le serveur était arrêté à 02:00, une exécution MISSED est enregistrée et le rôle ops reçoit un e-mail de la règle sur missed.