OpenClawSkills
GitHub
Automatización • 5 min de lectura

Cron vs Heartbeat

Guía para elegir entre heartbeats y cron jobs para automatización.

Tanto heartbeats como cron jobs te permiten ejecutar tareas en un horario. Esta guía te ayuda a elegir el mecanismo correcto para tu caso de uso.

Tutorial.step

Guía de decisión rápida

| Caso de uso | Recomendado | Por qué |

| --- | --- | --- |

| Sesión | Principal | Principal (vía evento de sistema) |

| Historial | Compartido | Compartido | Fresco cada ejecución |

| Contexto | Completo | Completo | Ninguno (inicio limpio) |

| Modelo | Modelo de sesión principal | Modelo de sesión principal | Puede sobrescribir |

| Salida | Entregada si no es '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'HEARTBEAT_OK'</code>' | Prompt de heartbeat + evento | Resumen publicado al principal |

#

Tutorial.step

Cuándo usar cron de sesión principal

Usa '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'--session main'</code>' con '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'--system-event'</code>' cuando necesites:

- Recordatorios/eventos que aparecen en el contexto de sesión principal

- El agente lo procese durante el próximo heartbeat con contexto completo

- Sin ejecución aislada separada

Bash
openclaw cron add   --name "Check project"   --every "4h"   --session main   --system-event "Time for a project health check"   --wake now

#

Tutorial.step

Cuándo usar cron aislado

Usa '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'--session isolated'</code>' cuando necesites:

- Estado limpio sin contexto previo

- Modelo diferente o configuraciones de pensamiento

- Salida entregada directamente al canal (resumen aún publicado al principal por defecto)

- El historial no abarrota la sesión principal

Bash
openclaw cron add   --name "Deep analysis"   --cron "0 6 * * 0"   --session isolated   --message "Weekly codebase analysis..."   --model opus   --thinking high   --deliver
Tutorial.step

Consideraciones de costo

| Mecanismo | Perfil de costo |

| --- | --- |

| Heartbeat | Se ejecuta cada N minutos; escala con tamaño de HEARTBEAT.md |

| Cron (principal) | Añade evento al próximo heartbeat (sin turno aislado) |

| Cron (aislado) | Turno completo de agente por trabajo; puede usar modelos más baratos |

<strong>Consejos</strong>:

- Mantén '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'HEARTBEAT.md'</code>' pequeño para minimizar costos de tokens.

- Agrupa verificaciones similares en heartbeat en lugar de múltiples cron jobs.

- Usa '<code className="bg-white/10 px-1.5 py-0.5 rounded text-emerald-300 text-sm">'target: "none"'</code>' en heartbeat si solo necesitas procesamiento interno.

- Usa cron aislado con modelos más baratos para tareas rutinarias.

Tutorial.step

Relacionado

- '<a href="/gateway/heartbeat" className="text-emerald-400 hover:text-emerald-300 transition-colors">'Heartbeat'</a>' - Configuración completa de heartbeat

- '<a href="/automation/cron-jobs" className="text-emerald-400 hover:text-emerald-300 transition-colors">'Cron jobs'</a>' - Referencia completa de CLI y API de cron

- '<a href="/cli/system" className="text-emerald-400 hover:text-emerald-300 transition-colors">'Sistema'</a>' - Eventos de sistema + control de heartbeat