Surveiller les exécutions de pipeline
Cette page couvre tout ce qui se passe après le démarrage d’une exécution : la retrouver, lire ce qu’a fait chaque étape et remettre en marche une exécution échouée. Pour en lancer une, voir Exécuter un pipeline manuellement.
Trouver une exécution
Section intitulée « Trouver une exécution »- Cliquez sur Pipelines dans la barre latérale de l’espace de travail. L’écran est la file d’attente des exécutions de l’espace de travail — toutes les exécutions, de la plus récente à la plus ancienne.
- Utilisez le rail de gauche pour filtrer. Il existe exactement trois filtres, chacun avec un compteur en direct : Tous, Running, Failed.
- Parcourez le tableau avec ↑/↓ (ou j/k) et appuyez sur Entrée pour ouvrir l’exécution sélectionnée. Un clic sur une ligne produit le même effet.
Chaque ligne affiche un glyphe indiquant comment l’exécution a démarré (lecture
pour un lancement manuel ; un glyphe de fichier pour une surveillance du graphe
de code ; sinon le déclencheur automatique). L’infobulle nomme le
déclencheur — Manuel, PR publiée, Modification de fichier, etc. — et,
pour une exécution de surveillance, les fichiers modifiés. Viennent ensuite le
nom du pipeline, un badge de statut, la durée active (ou la position dans la
file d’attente pour une exécution queued) et le temps écoulé depuis le début de
cette tentative. La durée active exclut les interruptions d’inactivité entre
arrêt et redémarrage : ce n’est donc pas le temps écoulé réel.
Il n’existe pas de filtre pour les exécutions terminées, suspendues ou annulées, pas de filtre par modèle, pas de fenêtre temporelle et pas de vue d’historique des exécutions par modèle. Pour comparer les exécutions d’un même modèle, il faut parcourir la file d’attente à la recherche de son nom.
Lire le détail d’une exécution
Section intitulée « Lire le détail d’une exécution »La page d’une exécution comporte trois parties empilées.
La bande de métadonnées affiche l’heure de début, la durée active, la progression des étapes (« 3 sur 7 étapes »), un résumé de l’échec nommant l’étape qui a échoué et la raison, ainsi que les actions Réessayer et Supprimer.
La chronologie affiche une barre par étape, avec sa durée et — pour les étapes
d’agent — son coût en cents. Une étape relancée affiche un suffixe ×N après sa
durée ; ce suffixe est le seul endroit où le nombre de tentatives apparaît.
Le canevas du graphe dessine le modèle avec le statut en direct de chaque nœud. Sélectionner un nœud ouvre son panneau d’étape.
Statuts des exécutions et des étapes
Section intitulée « Statuts des exécutions et des étapes »| Statut | Signification |
|---|---|
| Pending | Créée, pas encore démarrée |
| En file d’attente | Admise mais retenue : le plafond de parallélisme maximal de ce modèle est atteint ; aucune ligne d’étape pour l’instant |
| Running | En cours d’exécution |
| Suspended | En attente d’un élément externe — normal, pas bloquée |
| Completed | Terminée avec succès |
| Failed | Terminée par une erreur |
| Cancelled | Arrêtée par un utilisateur ou par le système |
Les étapes ont ces statuts, moins En file d’attente, plus Skipped, pour une branche qu’un routeur n’a pas empruntée (et ses descendants désormais inaccessibles).
Suspended est l’état dans lequel une étape d’agent passe la majeure partie de
sa vie : un agent lancé ou un portail d’approbation retient l’étape jusqu’à ce
que son travail aboutisse. Deux filets de sécurité du moteur font échouer toute
l’exécution plutôt que de la reprendre : une étape suspendue depuis plus de
24 heures (une étape dont extras.awaitApproval correspond au corps
orchestration.awaitApproval est exemptée ; human.gate ne l’est pas) et une
étape non idempotente qui était en cours lorsque le serveur s’est arrêté.
Inspecter une étape
Section intitulée « Inspecter une étape »Sélectionnez un nœud sur le canevas. Le panneau d’étape affiche, dans l’ordre :
- Un encadré Erreur lorsque l’étape a échoué, ou un encadré Ignoré avec la raison lorsqu’elle a été ignorée.
- Démarré, Terminé et la durée.
- Branche — l’index de branche, pour les branches parallèles.
- Voir la conversation — accède à la conversation dans laquelle l’étape s’est exécutée. Les conversations de pipeline sont masquées de la barre latérale : c’est donc le seul moyen d’y entrer.
- Entrée et Sortie, sous forme de JSON repliable.
- Activité de l’agent — une tuile par exécution d’agent lancée par l’étape, avec son statut, son résumé, sa durée et son coût.
Pour une étape d’agent, la Sortie est la charge utile structurée que l’agent a
soumise avec submit_output, et non son texte. La trace de raisonnement se
trouve dans Activité de l’agent et dans la conversation derrière Voir la
conversation.
Pour une étape bash, la Sortie est la sortie standard tronquée que le script a écrite en quittant avec le code 0. Un code de sortie non nul fait échouer l’étape, avec la fin de stderr comme message d’erreur.
Remettre en marche une exécution échouée
Section intitulée « Remettre en marche une exécution échouée »- Lisez le résumé de l’échec sur la bande de métadonnées ; il nomme l’étape en échec. L’encadré Erreur du panneau d’étape contient le message.
- Vérifiez l’Entrée de l’étape — une clé d’état manquante ou mal orthographiée est la cause la plus fréquente. Une étape prompt-agent échoue d’emblée et nomme les espaces réservés non résolus ; une étape bash les remplace par des chaînes vides et s’exécute quand même, ce qui ne se voit généralement qu’à l’étape suivante.
- Pour une étape d’agent, ouvrez Voir la conversation et lisez ce que l’agent a réellement fait.
- Appuyez sur Réessayer sur la bande de métadonnées. Les étapes terminées et ignorées conservent leurs sorties ; tout le reste est supprimé et réexécuté, et l’exécution repasse au statut Running. Le compteur de durée repart pour cette tentative.
Causes fréquentes à vérifier en premier :
- Délai d’expiration — l’étape a dépassé son Délai d’expiration (ms). Rappel : le champ est en millisecondes.
- Erreur de script — la commande bash s’est terminée avec un code non nul, ou
bashn’est pas dans lePATHde l’hôte du serveur. - Validation de schéma — la charge utile
submit_outputde l’agent ne satisfaisait pas le schéma de sortie de l’étape. - Espace réservé non résolu — une clé
{{key}}référencée par une étape prompt-agent n’a jamais été écrite en amont. L’erreur nomme chaque clé non résolue. - Corps non enregistré — une étape dont la clé de corps n’est pas enregistrée avertit au chargement du modèle, puis ne s’exécute tout simplement jamais.
Arrêter une étape bloquée
Section intitulée « Arrêter une étape bloquée »Sélectionnez l’étape en cours et appuyez sur le bouton Arrêter l’exécution dans l’en-tête du panneau d’étape. Cela tue le processus de l’étape, marque l’étape comme échouée et fait donc échouer toute l’exécution — toutes les branches sœurs ouvertes sont clôturées en même temps.
Il n’existe aucun contrôle d’annulation d’exécution sur cet écran.
pipeline.cancel existe comme opération RPC et le moteur l’implémente, mais rien
dans l’interface des pipelines ne l’appelle ; Arrêter l’exécution sur une
étape, ou Supprimer sur l’exécution, sont les seuls gestes d’arrêt
disponibles.
Suivre les coûts
Section intitulée « Suivre les coûts »Le coût est indiqué par étape, dans la colonne de droite de la chronologie et sur chaque tuile sous Activité de l’agent. Il n’y a pas de total par exécution sur la page de détail, ni de colonne de coût dans la file d’attente des exécutions : comparer le coût de deux exécutions revient donc à additionner leurs étapes.
Guides connexes
Section intitulée « Guides connexes »- Exécuter un pipeline manuellement
- Créer un modèle de pipeline
- Gérer les coûts
- Types d’étapes de pipeline