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:
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 &&:
/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
GETorPOSTboth work — use whichever is easiest.- The
-fsScurl flags keep cron quiet on success but still surface real errors:-ffails on HTTP errors,-sis silent,-Sshows 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.