Ping Clock Ping Clock

Uptime checks cannot see a backup that never ran

No card.

Uptime monitors request a URL and care about status codes. That is useless for a nightly dump, a queue cleaner or a report that writes a file and exits. Those jobs have no URL. The failure mode is silence.

Heartbeat monitoring flips the direction. The job tells the monitor it is alive. If the tell does not arrive in time, the check goes down.

What you need for each job

  • A schedule: every N minutes, or a cron expression with a time zone
  • A grace window longer than a slow-but-ok run
  • A ping URL the job can hit with curl, wget or a few lines of code
  • An alert route someone will see at 2am if that is when the job runs

Start, success and fail

A single success ping is enough to know the job finished. Add /start at the beginning if you also want to know it hung. Add /fail or the exit code if you want an immediate alert instead of waiting for grace to expire.

What heartbeats do not catch

A job that exits 0 after writing an empty file. Pair the ping with a sanity check: file size, row count, checksum. Ping only after that check passes.

FAQ

Is this the same as a dead man's switch?

Same idea. The switch is the alert that fires when the expected signal does not arrive.

Can I heartbeat an HTTP API too?

You can, but an uptime check is simpler for anything that already answers requests. Save heartbeats for work that does not.

Get 20 free checks