Agentes IA
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 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 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 Incluye un payload breve — elementos procesados, consumo de tokens, modelo usado — como contexto en el feed de actividad.
- 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
Jobs
| 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 |
| 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
/startllegó y/successnunca 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