Aller au contenu principal

Planifications

L'écran Planifications vous permet d'exécuter un agent selon une expression cron, dans un fuseau horaire, avec une entrée fixe, puis de modifier, mettre en pause ou supprimer ces planifications. Chemin dans le portail : /agents/schedules. Les développeurs, les responsables d'application et les administrateurs du tenant gèrent les planifications de leurs agents. L'écran est dessiné par portal/src/screens/agents.tsx.

Ce que montre l'écran​

  • Tableau Planifications, lu par GET /v1/schedules (toutes les planifications du tenant en un appel, les plus anciennes d'abord). Colonnes : Identifiant, Identifiant d'agent, Cron, Fuseau horaire, Activé, Prochaine exécution, Dernière exécution.
  • Liste vide : Aucune planification, avec l'aide Exécutez un agent chaque jour, semaine ou mois. et le bouton Nouvelle planification.
  • Le menu de ligne Voir le détail affiche tous les champs de la ligne dans un panneau latéral (l'API n'a pas de route de détail pour une planification).
  • Nouvelle planification ouvre un panneau latéral avec les champs Identifiant d'agent (obligatoire), Cron (obligatoire, exemple 0 8 * * 1-5), Fuseau horaire (défaut Europe/Paris), Entrée (JSON, défaut {}), Activé (coché par défaut).

Actions​

Bouton ou actionCe qu'il faitAppel d'APIRôles
Actualiser (icône)Recharge la liste.GET /v1/schedulesTout membre du tenant
Nouvelle planificationCrée la planification ; le Control Plane vérifie l'expression cron et le fuseau horaire et calcule la prochaine exécution.POST /v1/schedulestenant_admin, developer, application_owner
Menu Voir le détailAffiche la ligne dans un panneau latéral.AucunTout membre du tenant
Menu ModifierFormulaire Cron (obligatoire) et Activé, envoyé par Modifier. Décochez Activé pour mettre la planification en pause.PATCH /v1/schedules/{schedule_id}tenant_admin, developer, application_owner
Menu SupprimerOuvre Confirmer une action destructive ; saisissez l'identifiant de la planification, puis Confirmer.GET /v1/lineage/graph, puis DELETE /v1/schedules/{schedule_id}tenant_admin, developer, application_owner
Réessayer (état d'erreur)Relance la lecture qui a échoué.Même appelMêmes rôles

Le formulaire Nouvelle planification envoie ce corps :

{"agent_id": "invoice-assistant", "cron": "0 8 * * 1-5", "timezone": "Europe/Paris", "input": {}, "enabled": true}

0 8 * * 1-5 exécute l'agent à 08:00, du lundi au vendredi, dans le fuseau horaire choisi.

Rôles​

Le portail ne masque aucun bouton. Dans services/control-plane/src/eai/domains/agents/routes.py, la création, la modification et la suppression contrôlent WRITE_ROLES (tenant_admin, developer, application_owner, définis dans services/control-plane/src/eai/domains/agents/kit.py) ; la liste demande seulement un tenant. platform_admin passe tous les contrôles de rôle. L'exécution lancée par une planification suit les mêmes règles que toute exécution : l'agent doit être actif et dans ses budgets.

Tâches courantes​

Exécuter un agent chaque jour ouvré​

  1. Trouver l'agent. Une planification vise un seul agent. Copiez son identifiant ou son nom depuis le Registre. Résultat attendu : vous avez la référence de l'agent. En cas d'échec : si l'agent manque, enregistrez-le d'abord.
  2. Créer la planification. L'expression cron fixe le rythme. Cliquez sur Nouvelle planification, remplissez Identifiant d'agent, saisissez 0 8 * * 1-5 dans Cron, gardez ou changez le Fuseau horaire, ajoutez une Entrée si l'agent en a besoin, puis cliquez sur Créer. Résultat attendu : le message Créé et une ligne avec sa Prochaine exécution. En cas d'échec : invalid_cron (422) donne la raison, corrigez l'expression ou le fuseau ; scheduler_unavailable (503) signifie que le moteur de planification Temporal a refusé la planification, contactez l'équipe plateforme.
  3. Vérifier la première exécution. Le planificateur lance l'exécution à la date suivante. Après cette heure, ouvrez l'écran Exécutions. Résultat attendu : une nouvelle exécution de l'agent ; la planification affiche une Dernière exécution. En cas d'échec : vérifiez que Activé est coché et que l'agent est actif dans le Registre.

Mettre une planification en pause​

  1. La modifier. La pause garde la planification pour plus tard. Dans le menu de ligne, cliquez sur Modifier, décochez Activé, puis cliquez sur Modifier. Résultat attendu : le message Terminé et Activé décoché dans la ligne. En cas d'échec : schedule_not_found (404) signifie que la planification a été supprimée entre-temps ; cliquez sur Actualiser.

Dépannage​

SymptômeCauseCorrection
invalid_cron (422) : « Expression cron invalide : ... »L'expression ou le fuseau horaire n'est pas valide.Utilisez cinq champs (minute, heure, jour, mois, jour de semaine) et un fuseau IANA comme Europe/Paris.
agent_not_found (404) sur CréerIdentifiant d'agent ne désigne aucun agent du tenant.Copiez l'identifiant ou le nom depuis le Registre.
schedule_not_found (404)La planification n'existe plus.Cliquez sur Actualiser.
scheduler_unavailable (503) sur Créer ou ModifierLe moteur de planification Temporal est configuré mais ne répond pas.Demandez à l'équipe plateforme de vérifier le service Temporal, puis recommencez.
forbidden (403) avec required_rolesVos rôles ne sont pas tenant_admin, developer ou application_owner.Demandez l'un de ces rôles à un administrateur du tenant.
JSON invalide sous EntréeL'entrée n'est pas du JSON valide.Corrigez le JSON, par exemple {}.
Aucune nouvelle exécution à l'heure prévueActivé est décoché, ou l'agent est suspendu ou arrêté et ses nouvelles exécutions sont refusées.Cochez Activé, ou reprenez l'agent.

Pages liées​