Cron heartbeat API: ping a URL when a job runsMonitor scheduled jobs

A backup that stops running raises no error, and neither does a cron job a deploy removed. A heartbeat alerts you when a job doesn't check in on time.

Create one on the dashboard, choose how often the job runs and how late it may be, then call its URL at the end of the job.

GET/v1/heartbeats/{token}/ping

crontab
0 3 * * *  /usr/local/bin/backup.sh && \  curl -fsS https://acciti.com/v1/heartbeats/$HEARTBEAT_TOKEN/ping

GET or POST, with no headers and no body, so anything that can make a request can ping.

Keep the &&

It pings only when the job succeeds. Without it, you're monitoring whether cron ran, not whether the backup worked.

Intervals run from a minute to 30 days, with up to a day of grace. When a ping is later than the interval plus the grace, you get one alert through the same priorities and escalation policies as any other. When the job checks in again, a quiet note says how long it was gone. Routine pings make no sound.

Treat the URL as a secret

Anyone holding it can keep a missed check-in quiet. It can't read or send anything.

Wrap the job with the CLI

The && tells you a job stopped. The acciti run wrapper also tells you why. A failure sends an alert with the last lines of output, a success checks the heartbeat in, and the wrapper exits with the job's own status.

crontab
ACCITI_TOKEN=...ACCITI_USER=...0 3 * * *  acciti run --heartbeat "$PING_URL" -- /usr/local/bin/backup.sh
What to monitor with heartbeats