Pular para o conteúdo principal

Heartbeat de cron

Um monitor de heartbeat acompanha se um job avisou que executou dentro do prazo esperado. Ele não faz uma requisição ao seu servidor: o próprio job envia o ping para o Farol.

Crie o monitor​

  1. Abra Uptime, crie um monitor e selecione Heartbeat.
  2. Dê um nome ao job e defina o intervalo esperado.
  3. Configure a tolerância, considerando a duração do job e variações normais do agendamento. Ela deve cobrir pelo menos o intervalo configurado.
  4. Salve e copie a URL exibida. O segredo da URL é mostrado no momento da emissão.

Guarde a URL como um segredo do ambiente, por exemplo FAROL_HEARTBEAT_URL. Não publique o endereço em logs ou no repositório.

Envie depois de uma execução bem-sucedida​

No script do job:

#!/usr/bin/env bash
set -euo pipefail

/opt/minha-aplicacao/executar-job
curl -fsS --max-time 10 "$FAROL_HEARTBEAT_URL" >/dev/null

Defina a variável no ambiente que executa o script. No cron, o ambiente pode ser diferente daquele do seu terminal.

Com set -e, a falha do job impede o ping. Adaptar somente o exemplo de curl para executar independentemente do job provaria a execução do cron, mas não o sucesso do trabalho.

Confirme no Farol​

Execute o job uma vez e confira a amostra no monitor. Depois, valide se a rotina agendada também envia o ping. A ausência de ping pode indicar falha do job, agendamento incorreto ou problema de rede.

O heartbeat não comprova a integridade do resultado do job. Para um backup, por exemplo, ele confirma o aviso da execução; a recuperação dos dados exige uma validação própria.