Skip to content

Programación cron

源码版本v2026.7.20

Responsabilidad

Permite al agent «arrancarse solo a la hora fijada»: informes, backups, resúmenes, etc. sin que haya nadie presente. El subsistema cron/ ofrece planificador, almacenamiento de jobs, registro de ejecuciones, guardián de ciclo de vida, catálogo de blueprints/sugerencias y aislamiento independiente de toolsets (los jobs programados pueden desactivar herramientas para evitar acciones peligrosas sin supervisión). El gateway impulsa el planificador con un latido de 60s.

Archivos clave

Flujo de datos

  1. El gateway arranca _start_cron_ticker:22335, que dispara el planificador cada 60s.
  2. El planificador lee el almacenamiento de jobs (cron/jobs.py:106) y, según la expresión cron, selecciona los jobs vencidos.
  3. Para cada job vencido:
  4. Si cae a mitad de la ejecución, la próxima vez recover_interrupted_executions (cron/executions.py:156) recupera la marca.
  5. El resultado se entrega vía el gateway (o se refleja a la plataforma indicada).

Resumen

El énfasis del subsistema cron está en la «seguridad sin supervisión»: aislamiento de toolsets, lifecycle_guard contra modificaciones accidentales, y máquina de estados de ejecución para recuperación tras crash. La planificación la impulsa el latido del propio gateway, sin necesidad de un demonio cron externo.

Sitio de aprendizaje comunitario no oficial. Basado en el código fuente de NousResearch/hermes-agent (licencia MIT).