Documentación

Schedule (cron)

Dispara un pipeline a intervalos regulares — diario, semanal o una expresión cron arbitraria.

Schedule (cron)

El canal schedule dispara un pipeline según un calendario definido. Es el equivalente de un cron, pero gobernado desde el panel de administración y registrado como cualquier otro exchange.

Por qué este canal

No todos los pipelines son reactivos (a un email, una llamada, un webhook). Muchos son proactivos: informe diario, seguimiento semanal, comprobación horaria de un sistema externo. Eso es lo que cubre el canal schedule.

Configuración

  1. Administración → Schedule → Nueva tarea.
  2. Elige:
    • Pipeline de destino
    • Calendario — constrúyelo visualmente con el CronBuilder (diario, semanal, días y horas), o introduce una expresión cron clásica (0 8 * * 1-5 = 8h en días laborables) o un atajo (@daily, @hourly). No se requiere conocimiento de la sintaxis cron.
    • Zona horaria — por defecto, la zona horaria de la organización. Configurable por tarea.
    • Objetivo — una etiqueta libre (p. ej. briefing_hebdo, alerte_impayes) que se pasa al pipeline para enrutarlo.
    • Carga útil estática — JSON arbitrario que se pasa como entrada al pipeline.

Un pipeline, varios objetivos. El mismo pipeline puede ser disparado por varias tareas programadas, cada una con un objectif diferente. Las condiciones (filter) al inicio del pipeline dirigen entonces la ejecución según el objetivo recibido — por ejemplo un briefing semanal el lunes y una alerta diaria en la misma plantilla (consulta CFO IA).

Qué recibe el pipeline

En cada disparo, se crea un exchange con:

  • schedule.task_id — identificador de la tarea programada
  • schedule.objectif — la etiqueta de objetivo configurada (para el enrutamiento multi-tarea)
  • schedule.scheduled_at — marca de tiempo planificada
  • schedule.actual_at — marca de tiempo real (en caso de desfase)
  • schedule.payload — el JSON estático configurado (si está presente)

Tolerancia y recuperación

Si betool no está disponible en el momento de un disparo (mantenimiento, incidente), la tarea se recupera automáticamente al reiniciar, dentro de la ventana de tolerancia que configures (1 hora por defecto).

Más allá de la ventana, el disparo se marca como perdido en el historial y no se repite — un informe ausente es mejor que uno tardío y desincronizado.

Casos de uso típicos

  • Informe diario a las 8h — un agente que consulta varios sistemas, resume y envía un resumen por email.
  • Sincronización horaria — un pipeline que extrae los nuevos elementos de un sistema externo, los pasa a un agente clasificador y envía los resultados a tu CRM.
  • Comprobación semanal — un agente que audita el estado de una infraestructura y señala discrepancias.
  • Seguimiento a D+7 — sobre los leads enviados hace una semana y todavía sin respuesta.

Buenas prácticas

  • Evita los arranques al minuto en punto — muchos sistemas pulsan a 0 * * * *. Prefiere 7 * * * * para repartir la carga.
  • Registra las tareas que no tienen nada que hacer. Una tarea que se ejecuta pero no hace nada (porque no hay elementos que procesar) debe dejar constancia explícita. De lo contrario, no podrás distinguir «todo va bien» de «la tarea ya no se ejecuta».
  • Alerta sobre las tareas perdidas. Consulta Créditos y medición → Alertas.