Documentation

Planification (cron)

Déclencher un pipeline à intervalles réguliers — quotidien, hebdomadaire, ou expression cron arbitraire.

Planification (cron)

Le canal schedule déclenche un pipeline selon un calendrier défini. C'est l'équivalent d'un cron, mais piloté depuis l'admin et journalisé comme tous les autres exchanges.

Pourquoi ce canal

Tous les pipelines ne sont pas réactifs (à un email, un appel, un webhook). Beaucoup sont proactifs : rapport quotidien, relance hebdomadaire, vérification horaire d'un système externe. C'est ce que couvre le canal schedule.

Configuration

  1. Administration → Planification → Nouvelle tâche.
  2. Choisissez :
    • Pipeline cible
    • Calendrier — composez-le visuellement avec le CronBuilder (quotidien, hebdomadaire, jours et heures), ou saisissez une expression cron classique (0 8 * * 1-5 = 8h en semaine) ou un raccourci (@daily, @hourly). Aucune connaissance de la syntaxe cron requise.
    • Fuseau horaire — par défaut, fuseau de l'organisation. Configurable par tâche.
    • Objectif — une étiquette libre (ex. briefing_hebdo, alerte_impayes) passée au pipeline pour le router.
    • Payload statique — JSON arbitraire passé en entrée du pipeline

Un pipeline, plusieurs objectifs. Un même pipeline peut être déclenché par plusieurs tâches planifiées, chacune avec un objectif différent. Des conditions (filter) en début de pipeline dirigent alors l'exécution selon l'objectif reçu — par exemple un briefing hebdomadaire le lundi et une alerte quotidienne dans le même modèle (voir CFO IA).

Ce que le pipeline reçoit

À chaque déclenchement, un exchange est créé avec :

  • schedule.task_id — identifiant de la tâche planifiée
  • schedule.objectif — l'étiquette d'objectif configurée (pour le routage multi-tâches)
  • schedule.scheduled_at — horodatage prévu
  • schedule.actual_at — horodatage réel (en cas de drift)
  • schedule.payload — le JSON statique configuré (si présent)

Tolérance & rattrapage

Si betool est indisponible au moment d'un déclenchement (maintenance, incident), la tâche est rattrapée automatiquement au redémarrage, dans la fenêtre de tolérance que vous configurez (par défaut 1 heure).

Au-delà de la fenêtre, le déclenchement est noté comme manqué dans l'historique et n'est pas rejoué — mieux vaut un rapport manquant qu'un rapport tardif et désynchronisé.

Cas d'usage typiques

  • Rapport quotidien 8h — agent qui interroge plusieurs systèmes, synthétise et envoie un brief par email.
  • Sync horaire — pipeline qui pull les nouveaux items d'un système externe, les passe à un agent classifier, et pousse les résultats dans votre CRM.
  • Vérification hebdomadaire — agent qui audite l'état d'une infrastructure et signale les écarts.
  • Relance J+7 — sur les leads soumis il y a une semaine et toujours sans réponse.

Bonnes pratiques

  • Évitez les démarrages de minute pile — beaucoup de systèmes pulsent à 0 * * * *. Préférez 7 * * * * pour répartir la charge.
  • Loggez les tâches qui n'ont rien à faire. Une tâche qui s'exécute mais ne fait rien (parce qu'aucun item à traiter) doit le tracer explicitement. Sinon, vous ne saurez pas distinguer « tout va bien » de « la tâche ne s'exécute plus ».
  • Alertez sur les tâches manquées. Voir Crédits & metering → Alertes.