Heartbeat monitoring

Monitoriza cron jobs que corren en tus propios servidores con heartbeat pings — detecta ejecuciones perdidas, fallidas y bloqueadas.

Un heartbeat check es un interruptor de hombre muerto para un job que corre en tu propia infraestructura. Tu job hace ping a SteadyCron cuando se ejecuta; si el ping no llega según el horario, recibes una alerta antes de que los usuarios lo noten.

Esto es ideal para backups nocturnos de base de datos, pipelines ETL, renovaciones de certificados, rotación de logs, workers de colas y cualquier cron que no puedas (o no quieras) mover fuera de tus servidores.

La ping URL

Cada heartbeat check tiene una ping URL única. Envía una petición HTTP a ella desde tu job — desde cualquier lenguaje o shell. El caso más simple es un único curl al final de tu script:

# tu trabajo aquí ...
curl -fsS https://ping.steadycron.com/<your-ping-token>

Tipos de ping

Puedes enviar tres tipos de ping para señalar distintos momentos de una ejecución:

  • /start — el job ha comenzado. Permite a SteadyCron medir la duración y detectar ejecuciones que empiezan pero nunca terminan.
  • /success (por defecto, sin sufijo) — el job finalizó correctamente.
  • /fail — el job se ejecutó pero falló. Úsalo para alertar sobre errores explícitos, no solo pings ausentes.
TOKEN=<your-ping-token>
curl -fsS https://ping.steadycron.com/$TOKEN/start
# ... ejecutar el job ...
if ./run-backup.sh; then
  curl -fsS https://ping.steadycron.com/$TOKEN
else
  curl -fsS https://ping.steadycron.com/$TOKEN/fail
fi

También puedes incluir un payload corto (p. ej. el final del log) con el ping; se almacena truncado como contexto en el registro de actividad.

Horario y periodo de gracia

Indica a SteadyCron con qué frecuencia debe ejecutarse el job — una expresión cron o un intervalo simple — y configura un periodo de gracia. El periodo de gracia absorbe la varianza normal (un backup que normalmente termina a las 02:05 pero a veces lo hace a las 02:12). Una vez que un ping supera el periodo de gracia, el check se considera perdido y se lanza una alerta.

Detectar ejecuciones bloqueadas

Si envías un ping /start pero no llega ningún /success o /fail coincidente dentro de la ventana esperada, SteadyCron marca la ejecución como bloqueada (abandonada) — capturando jobs que se cuelgan en lugar de fallar directamente.

Estado de un vistazo

Cada check muestra su estado actual: a tiempo, tarde (vencido pero dentro del periodo de gracia), perdido o fallando. El dashboard muestra primero los checks que fallan para que los problemas sean evidentes.

Próximos pasos