Monitorización de cron jobs: entérate cuando una tarea no se ejecuta.
Relvato da a cada tarea programada una URL secreta a la que hacer ping al terminar. Si el ping no llega a tiempo, te avisa al momento: un dead man's switch para cron jobs, scripts de copia de seguridad, tareas programadas y jobs de CI, en cualquier servidor y en cualquier lenguaje.
- ✓Llega un ping dentro del periodo más el margen de gracia que fijes
- ✓Un ping a /fail te avisa al momento, sin esperar al plazo
- ✓Un aviso cuando dejan de llegar pings y otro cuando vuelven
- ✓Los primeros 300 caracteres de un cuerpo POST se guardan con el ping: un mensaje de error o un código de salida
- ✓Un heartbeat nuevo espera su primer ping y nunca avisa antes
- ✓Historial de pings de 30 días; check-ins perdidos de cada heartbeat en la pestaña «Uptime» del sitio
Un cron job que deja de ejecutarse no lanza ningún error que vayas a ver. Se reinstaló el servidor y el crontab no vino con él, caducó una credencial, se llenó el disco, un script se quedó colgado... y la copia de seguridad, la exportación o la facturación simplemente dejan de ocurrir. Esperar el ping que debería haber llegado lo detecta todo, porque el silencio es la señal. Para el WP-Cron de WordPress y la cola de Action Scheduler, consulta la monitorización de tareas en segundo plano.
- Crea un heartbeat en Relvato y obtendrás una URL de ping secreta: https://app.relvato.com/api/hb/<token>. Tu cron job, script de copia de seguridad, tarea programada o job de CI la llama al terminar, con GET, POST o HEAD.
- Añade la llamada al final de la tarea con &&, para que una tarea que falla nunca haga ping. Es una línea: sin plugin, sin agente, en cualquier lenguaje que pueda hacer una petición HTTP.
- Define el periodo (cada cuánto se ejecuta la tarea, de 1 minuto a 31 días) y un margen de gracia de 1 minuto a 7 días. Si no llega ningún ping dentro del periodo más el margen, Relvato te avisa al momento por email, Slack o webhook (los canales que incluye tu plan), y otra vez cuando los pings vuelven.
- Una tarea que sabe que ha fallado puede decirlo: una petición a la misma URL terminada en /fail te avisa en el acto. Los primeros 300 caracteres de un cuerpo POST, como un mensaje de error o un código de salida, se guardan con el ping y se muestran en el historial.
¿Tengo que instalar algo?
No. Ni plugin ni agente. Puede hacer ping cualquier cosa capaz de hacer una petición HTTP: una línea de crontab, un script de shell, un job en Python o PHP, una tarea programada de Windows, un pipeline de CI, en cualquier servidor.
¿Cómo lo añado a un cron job?
Pon el ping detrás de tu comando con &&, para que solo se ejecute si la tarea ha ido bien: 0 3 * * * /ruta/a/backup.sh && curl -fsS -m 10 --retry 3 https://app.relvato.com/api/hb/<token>. -fsS mantiene curl en silencio salvo que algo falle, -m 10 limita la petición a 10 segundos y --retry 3 salva un fallo de red puntual.
¿Cómo elijo el periodo y el margen de gracia?
El periodo es cada cuánto se ejecuta la tarea (de 1 minuto a 31 días); el margen de gracia, cuánto puede tardar o retrasarse (de 1 minuto a 7 días). Para una copia de seguridad nocturna que tarda hasta 40 minutos: un periodo de 1 día y un margen de 1 hora.
¿Puede la tarea informar de su propio fallo?
Sí. Llama a https://app.relvato.com/api/hb/<token>/fail y recibirás un aviso al momento. Envíalo como POST con el mensaje de error o el código de salida en el cuerpo: los primeros 300 caracteres se guardan con el ping y aparecen en el historial.
¿Cuántos heartbeats tengo?
2 en Free, 20 en Pro, 100 en Business y 500 en Agency.
¿Dónde veo el historial?
En la pestaña «Uptime» del sitio, en la app de Relvato: allí cada heartbeat muestra sus check-ins perdidos. Los pings se guardan 30 días, con el cuerpo POST que hayas enviado.
¿Es lo mismo que la monitorización de cron de WordPress?
No. La monitorización de tareas en segundo plano lee la cola de Action Scheduler de WordPress a través del plugin de Relvato. Los heartbeats son para tareas que ejecutas tú, en cualquier servidor, y no necesitan plugin.
¿Puedo usar la expresión cron del trabajo en lugar de un intervalo?
Sí. Dale al heartbeat la programación de la crontab del trabajo — cinco campos como 0 3 * * * o */15 * * * 1-5, o @daily — y su zona horaria. Así, cada ping se espera hasta el momento en que se cumple la expresión más el margen: un trabajo que solo corre entre semana no cuenta como perdido el sábado, y los cambios de horario se tienen en cuenta.
Pon este monitor en piloto automático.
Gratis para siempre en un sitio — 100 ejecuciones al mes, lanzadas por ti o cada semana, sin tarjeta. Pro vuelve a ejecutar tus monitores solo tras cada actualización.