Skip to content

How monitoring works

Did My Job Run watches your scheduled jobs by listening for a small HTTP request — a ping — every time a job runs. If the ping doesn’t show up on schedule, we email you.

Pings

A ping is any HTTP GET or POST to your monitor’s unique URL:

Terminal window
curl -fsS https://didmyjobrun.com/ping/<your-key>

Copy the exact URL from your monitor on the dashboard — that’s the source of truth. The one above is just an example.

Each ping marks the monitor up, records the time, and pushes the next deadline forward. There’s no agent to install and no SDK to import — anything that can make an HTTPS request can report in.

Period and grace

When you create a monitor you set two values:

  • Period — how often the job is expected to run (e.g. every 1 day).
  • Grace — extra slack before we consider a missed ping a problem (e.g. 1 hour), so a job that runs a little late doesn’t trigger a false alarm.

If no ping arrives within period + grace, the monitor flips to down and we email you once. The next successful ping flips it back to up.

Ping only on success

This is the most important habit: ping only when the job actually succeeds.

If you always ping — even when the job errors out — a broken job still looks healthy. By pinging only on success, a failed job goes silent and you get alerted. In a shell that means using &&:

Terminal window
/opt/run-backup.sh && curl -fsS https://didmyjobrun.com/ping/<your-key>

The ping runs only if run-backup.sh exited 0 (success). The per-scheduler guides show how to do this in each environment.

Good to know

  • GET or POST both work — use whichever is easiest.
  • The -fsS curl flags keep cron quiet on success but still surface real errors: -f fails on HTTP errors, -s is silent, -S shows errors when they happen.
  • Rate limit: up to 30 pings per minute per monitor — far above any real schedule, so you’ll never hit it in normal use.