Cron jobs para agentes de IA y pipelines LLM

Ejecuta agentes, inferencia por lotes y refrescos de embeddings según un horario — y entérate en minutos cuando una ejecución falla, se cuelga en una llamada a la API o no produce nada en silencio.

El problema

Las cargas de trabajo de IA se están moviendo a horarios — un agente nocturno que compila un resumen, un refresco de embeddings cada hora, clasificación por lotes sobre los tickets de ayer. Heredan todos los fallos clásicos del cron y añaden los suyos: rate limits, llamadas LLM colgadas sin timeout, un ID de modelo deprecado por una actualización del proveedor, un bucle de agente que se traga un error de herramienta y termina con código 0 sin haber hecho nada. Y nadie está mirando la salida — correr sin supervisión era justamente el objetivo.

Cómo lo resuelve SteadyCron

  1. 1 Dispara la carga de trabajo con un job HTTP — SteadyCron llama a tu endpoint según el horario, con reintentos, backoff y timeout — o mantén tu cron actual y añade un heartbeat.
  2. 2 Haz ping a /start cuando empieza la ejecución y a /success cuando termina, para que una ejecución atascada en una llamada LLM colgada aparezca como atrasada en lugar de como silencio.
  3. 3 Incluye un payload breve — elementos procesados, consumo de tokens, modelo usado — como contexto en el feed de actividad.
  4. 4 Alerta ante ejecuciones perdidas, fallidas o demasiado largas, con umbrales de fallos consecutivos para que un tropiezo puntual de rate limit no despierte a nadie.
TOKEN=<tu-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

Estado, horario y última ejecución de cada job — de un vistazo.

Un código de salida 0 no es un resultado

Los frameworks de agentes están hechos para seguir adelante: una llamada a una herramienta falla, el modelo se disculpa y continúa, y el proceso termina limpiamente sin haber escrito nada. No hagas ping de éxito porque el proceso terminó — hazlo después de comprobar que el resultado existe (el resumen se envió, las filas se vectorizaron, el archivo de salida no está vacío), y haz ping a /fail tú mismo cuando falte. El heartbeat check alerta entonces sobre lo que de verdad importa: ningún resultado válido dentro de la ventana esperada, sea cual sea la causa.

Modos de fallo que el cron clásico nunca tuvo

  • Rate limits y límites de gasto: una tormenta de 429 o un presupuesto mensual agotado corta la ejecución de esta noche — y la de mañana también. Los umbrales de fallos consecutivos separan el tropiezo pasajero del pipeline que sigue roto.
  • Llamadas colgadas: una petición LLM sin timeout puede inmovilizar una ejecución para siempre. Como /start llegó y /success nunca lo hizo, la ejecución aparece como atrasada tras el periodo de gracia — en lugar de quedarse colgada días sin que nadie lo note.
  • Deriva del modelo: un ID de modelo deprecado o un formato de respuesta cambiado rompe tu parsing al ritmo del proveedor, no al de tus despliegues. El registro por ejecución — estado, payload, duración — muestra exactamente qué noche empezó.

Ideal para

  • Ejecuciones nocturnas de agentes: resúmenes, triaje de tickets, generación de informes, scrapes programados que alimentan un modelo.
  • Mantenimiento RAG: refrescos de embeddings y reconstrucciones de índices, cuya obsolescencia es invisible hasta que la calidad de las respuestas se degrada.
  • Inferencia por lotes: jobs de clasificación, enriquecimiento o resumen sobre los datos de ayer.

¿Estás depurando una ejecución que ya se quedó muda? Consulta Agente de IA programado no se ejecuta para un diagnóstico paso a paso.

Documentación relacionada

Deja de enterarte a las malas

Empieza en el plan gratuito — sin tarjeta de crédito.

Empezar gratis