Aller au contenu

Tâches planifiées

Onglet Paramètres → Tâches planifiées.

Les tâches planifiées exécutent automatiquement des opérations récurrentes sur la plateforme.

Types de tâches

  • Tâches d'application : ciblent une application d'un namespace — redémarrer, démarrer, arrêter une application, prendre un snapshot avec rétention, mettre un job Hop en file…
  • Tâches système : maintenance de la plateforme (nettoyage de base, réconciliation des applications…), réservées aux administrateurs.

Créer une tâche

Nouvelle tâche → nom, description, tâche à exécuter (choisie dans le catalogue), cible (application/namespace pour une tâche d'application), et planification :

  • Intervalle : toutes les n secondes/minutes/heures/jours, avec une Heure de démarrage facultative : la tâche ne s'exécute pas avant cette date. Elle se saisit à l'heure de votre navigateur (le fuseau est affiché à côté du champ, « Fuseau : … ») et est enregistrée en UTC. Laissée vide, la première exécution a lieu un intervalle après l'enregistrement, et la liste affiche cette date (« dès le … ») ;
  • Cron : minute, heure, jour du mois, mois, jour de la semaine, avec un Fuseau horaire choisi dans une liste avec recherche (celui de votre navigateur par défaut) ; sans fuseau, c'est UTC.

Une tâche peut être désactivée sans être supprimée, et exécutée immédiatement (bouton dédié) indépendamment de sa planification.

Créer ou modifier une tâche d'application nécessite le rôle admin sur le namespace de l'application ciblée.

Tâches d'application

Une tâche d'application cible une application précise — sauf Arrêter toutes les applications d'un namespace, qui cible directement un namespace entier (le champ application est alors masqué au profit d'un champ namespace).

Le nom et le namespace de l'application ciblée sont toujours déduits de l'application sélectionnée : ne jamais les saisir dans les arguments nommés.

Redémarrer / Démarrer / Arrêter l'application

Aucun argument à saisir : il suffit de choisir l'application.

Pour Démarrer l'application uniquement, le nombre de replicas peut être précisé dans Options avancées → Arguments nommés (1 par défaut) :

{ "replicas": 2 }

Warning

Ne pas ajouter release_name dans les arguments nommés : il est déjà transmis automatiquement, et le doublon fait échouer l'exécution.

Arrêter toutes les applications d'un namespace

Pas de tâche/application à choisir dans le formulaire principal : un champ Namespace dédié apparaît à la place du champ Application. Aucun argument nommé à saisir — {"namespace": "..."} est injecté automatiquement depuis ce champ.

Snapshot application (avec rétention)

Formulaire simplifié (visible sans "Options avancées") : un seul champ, Nombre de sauvegardes à conserver (entier ≥ 1, 7 par défaut). release_name/namespace sont déduits automatiquement de l'application sélectionnée — ne pas les saisir en argument nommé.

Exemple : sauvegarde automatique d'un volume

Un snapshot quotidien du volume d'une application critique : planification cron 0 2 * * *, rétention de 7 snapshots. Pour restaurer un snapshot ainsi créé, voir Volumes.

Appeler une API REST

{
  "url": "https://exemple.com/api/hook",
  "method": "POST",
  "json_body": { "clé": "valeur" },
  "headers": { "X-Custom": "valeur" },
  "auth_param": "nom_du_parametre_namespace",
  "timeout": 30
}
  • url (obligatoire).
  • method : GET, POST… (POST par défaut).
  • json_body : corps JSON envoyé tel quel (optionnel).
  • headers : en-têtes HTTP additionnels (optionnel).
  • auth_param : nom d'un paramètre du namespace de l'application sélectionnée — sa valeur est lue et injectée telle quelle dans l'en-tête Authorization (ex. Bearer xxx). C'est le nom du paramètre, pas le jeton lui-même. Le namespace est imposé par l'application choisie : un namespace saisi dans les arguments est ignoré.
  • timeout : secondes (30 par défaut).

Mettre un job Hop en file

{
  "queue_name": "ma-hopqueue",
  "kind": "pipeline",
  "path": "/files/projects/current/monpipeline.hpl",
  "name": "MonPipeline",
  "parameters": {},
  "run_config": "local"
}
  • queue_name : nom d'une HopQueue existante de l'application Hop Server (à ne pas confondre avec le champ File d'attente/queue Celery décrit ci-dessous — deux notions distinctes).
  • kind : pipeline ou workflow.
  • path : chemin du fichier .hpl/.hwf, tel que renvoyé par la liste des fichiers de l'application Hop Server (préfixé /files/projects/current/).
  • name : nom interne du pipeline/workflow (attribut name du fichier Hop — pas le nom de la tâche planifiée saisi en haut du formulaire).
  • parameters : paramètres du pipeline/workflow (objet, optionnel).
  • run_config : run configuration Hop (ex. local) — en pratique requise, l'exécution échoue sans elle côté Hop Server.

Note

Cette entrée reste un accès bas niveau. Pour planifier de vrais jobs Hop récurrents, la section dédiée Jobs récurrents planifiés de l'application Hop Server elle-même (formulaire guidé, historique par job) est le chemin recommandé — voir Apache Hop Server : jobs et planification.

Options avancées

Le bouton Options avancées du formulaire révèle des champs normalement masqués :

  • Arguments nommés : paramètres de la tâche au format JSON libre — voir le détail par tâche ci-dessus. Snapshot application et Arrêter toutes les applications d'un namespace ont leur propre formulaire simplifié et n'en ont pas besoin.
  • File d'attente : la queue Celery qui exécute la tâche (réglage avancé, rarement nécessaire — sans rapport avec une HopQueue).
  • Arguments positionnels : équivalent des arguments nommés en liste positionnelle, pour un besoin ponctuel.

Suivi

Chaque tâche affiche sa dernière exécution et son compteur total ; son historique liste les exécutions passées avec leur statut et leur résultat, filtrable par statut.