Des cron jobs pour agents IA et pipelines LLM

Exécutez agents, inférence par lots et rafraîchissements d'embeddings selon un planning — et sachez en quelques minutes quand un run échoue, se bloque sur un appel API ou ne produit silencieusement rien.

Le problème

Les workloads IA passent sur des plannings — un agent nocturne qui compile un digest, un rafraîchissement d'embeddings toutes les heures, une classification par lots des tickets de la veille. Ils héritent de toutes les pannes classiques du cron et y ajoutent les leurs : rate limits, appels LLM bloqués sans timeout, un ID de modèle déprécié par une mise à jour du fournisseur, une boucle d'agent qui avale une erreur d'outil et se termine avec un code 0 sans avoir rien fait. Et personne ne regarde la sortie — tourner sans surveillance était justement le but.

Comment SteadyCron le résout

  1. 1 Déclenchez le workload avec un job HTTP — SteadyCron appelle votre endpoint selon le planning, avec relances, backoff et timeout — ou gardez votre cron existant et ajoutez un heartbeat.
  2. 2 Pingez /start au début du run et /success à la fin, pour qu'un run bloqué sur un appel LLM apparaisse comme en retard plutôt que comme du silence.
  3. 3 Incluez un court payload — éléments traités, consommation de tokens, modèle utilisé — comme contexte dans le fil d'activité.
  4. 4 Alertez sur les runs manqués, échoués ou trop longs, avec des seuils d'échecs consécutifs pour qu'un simple accroc de rate limit ne réveille personne.
TOKEN=<votre-ping-token>
curl -fsS https://ping.steadycron.com/$TOKEN/start
n=$(python run_agent.py --task nightly-digest) \
  && curl -fsS --data "processed=$n" https://ping.steadycron.com/$TOKEN \
  || curl -fsS https://ping.steadycron.com/$TOKEN/fail
app.steadycron.com/jobs

Jobs

New job
Search jobs…
All HTTP Heartbeat
Status Group: env
env:prod 5 jobs 1 failing
weekly-digest-email HTTP 0 9 * * 1 in 2 days 3 days ago
nightly-db-backup Heartbeat 0 2 * * * in 19 h 5 h ago
stripe-reconciliation HTTP 0 */4 * * * in 38 min 3 h ago
cache-warmup HTTP */15 * * * * in 11 min now
search-index-sync Heartbeat */30 * * * * in 6 min 24 min ago
env:dev 3 jobs
seed-test-data HTTP 0 4 * * * in 14 h 10 h ago
preview-env-cleanup Heartbeat 0 */6 * * * in 2 h 4 h ago
trial-expiry-sweep HTTP 0 6 * * * yesterday

Statut, planning et dernière exécution de chaque tâche — en un coup d’œil.

Un code de sortie 0 n’est pas un résultat

Les frameworks d’agents sont conçus pour continuer coûte que coûte : un appel d’outil échoue, le modèle s’excuse et passe à la suite, et le processus se termine proprement sans avoir rien écrit. Ne pingez pas le succès parce que le processus s’est terminé — pingez après avoir vérifié que le résultat existe (le digest a été envoyé, les lignes ont été vectorisées, le fichier de sortie n’est pas vide), et pingez /fail vous-même quand il manque. Le check heartbeat alerte alors sur ce qui compte vraiment : aucun résultat valide dans la fenêtre attendue, quelle qu’en soit la cause.

Des modes de panne que le cron classique n’a jamais connus

  • Rate limits et plafonds de dépense : une rafale de 429 ou un budget mensuel épuisé interrompt le run de ce soir — et celui de demain aussi. Les seuils d’échecs consécutifs distinguent l’accroc passager du pipeline qui reste cassé.
  • Appels bloqués : une requête LLM sans timeout peut immobiliser un run pour toujours. Parce que /start est arrivé et que /success n’est jamais venu, le run apparaît en retard après la période de grâce — au lieu de rester bloqué des jours sans que personne ne le remarque.
  • Dérive de modèle : un ID de modèle déprécié ou un format de réponse modifié casse votre parsing au rythme du fournisseur, pas au rythme de vos déploiements. Le journal par exécution — statut, payload, durée — montre exactement quelle nuit cela a commencé.

Idéal pour

  • Les runs d’agents nocturnes : digests, triage de tickets, génération de rapports, scrapes planifiés qui alimentent un modèle.
  • La maintenance RAG : rafraîchissements d’embeddings et reconstructions d’index, dont l’obsolescence est invisible jusqu’à ce que la qualité des réponses se dégrade.
  • L’inférence par lots : jobs de classification, d’enrichissement ou de résumé sur les données de la veille.

Vous déboguez un run qui s’est déjà tu ? Voir Agent IA planifié ne s’exécute pas pour un diagnostic pas à pas.

Documentation associée

Ne l’apprenez plus à vos dépens

Commencez avec l’offre gratuite — sans carte bancaire.

Commencer gratuitement