Monitoramento cron

Monitores cron acompanham tarefas agendadas (como backups, processamento em lote ou scripts recorrentes) e avisam se elas não rodarem no horário. Assim você garante que processos críticos em segundo plano estão sempre funcionando.

Como nos outros monitores, quando uma tarefa cron falha, você pode trabalhar com seu time para resolver o incidente e, se quiser, atualizar sua página de status.

Veja um exemplo de como fica sua lista de monitores cron:

Lista de monitores cron

Principais recursos

  • Confirmar que suas tarefas cron rodam no horário (por meio de pings enviados pelas tarefas).
  • Receber alertas se uma tarefa atrasar ou não terminar.
  • Integrar com Slack, e-mail, SMS, ligação e mais para os alertas.

Ao clicar em um monitor cron, você vê mais detalhes:

Detalhes do monitor cron

Adicionando seu primeiro monitor cron

Para adicionar um monitor, vá até seu projeto → Monitores → Adicionar monitor.

Adicionar monitor

Tipo de monitor

Selecione Cron/Heartbeat como tipo de monitor.

Tipo de monitor cron

Uma URL exclusiva é gerada para você. Sua tarefa cron deve enviar uma requisição HTTP (HEAD, GET ou POST) para essa URL cada vez que rodar.

O monitor tem sucesso se

Um monitor cron tem sucesso quando sua tarefa envia um ping para a URL gerada no horário. Você pode configurar:

  • Período: com que frequência a tarefa deve rodar (por exemplo, a cada 15 minutos).
  • Tolerância: tempo extra permitido antes de a tarefa ser considerada fora do ar.

Se o período terminar e a tarefa não enviar o ping, o monitor é marcado como degradado.

Se a tolerância terminar e a tarefa não enviar o ping, o monitor é marcado como fora do ar.

Você pode configurar alertas para ser avisado quando uma tarefa falhar, degradar ou se recuperar.

Sinalizando uma falha

Às vezes você quer marcar uma tarefa como falha explicitamente, mesmo que ela tenha rodado e enviado o ping.
Para isso, envie uma requisição à URL do monitor com /fail no final.

Isso é útil quando seu script encontra um erro e você quer que a Instatus registre a tarefa como falha na hora.

  • Ping de sucesso: https://cron.instatus.com/your-unique-url
  • Ping de falha: https://cron.instatus.com/your-unique-url/fail

Quando um sinal de falha é recebido, o monitor é marcado como fora do ar e os alertas são enviados na hora, conforme suas configurações de alerta.

Medindo o tempo de execução da tarefa

Você pode medir quanto tempo sua tarefa leva enviando duas requisições:

  1. Sinal de início: envie uma requisição para /start quando a tarefa começar
  2. Sinal de sucesso/falha: envie uma requisição para a URL base quando a tarefa terminar ou falhar
  • Ping de início: https://cron.instatus.com/your-unique-url/start
  • Ping de sucesso: https://cron.instatus.com/your-unique-url
  • Ping de falha: https://cron.instatus.com/your-unique-url/fail

O tempo entre os sinais de início e de sucesso é registrado como o tempo de execução da tarefa. Isso ajuda a acompanhar o desempenho e identificar tarefas que estão demorando mais do que o esperado.

Se a tarefa falhar depois de enviar o sinal de início, envie um sinal de falha no lugar do de sucesso para marcá-la como falha e ainda assim registrar o tempo de execução.

Parabéns, você adicionou seu primeiro monitor cron!