One of your own jobs, such as a cron job, backup or queue worker, has stopped checking in. A job that quietly stops can mean missing backups, unsent emails or stale data.
What it means
A heartbeat expects a request to its private address each time the job runs. This one hasn’t had a ping for longer than its interval plus its grace period, so the job has probably stopped, failed or got stuck.
What triggers it
Heartbeats are checked every minute. Once a ping is overdue by more than the grace period, a Critical issue is raised on the website the heartbeat belongs to, and owners and admins get a downtime email. A heartbeat isn’t watched until its first ping arrives.
Common causes
- The cron job or scheduled task was removed or disabled, often after a server move.
- The job fails with an error before it reaches the ping.
- The server that runs the job is down or out of disk space.
- The job now takes longer than the grace period allows.
How to fix it
- Check that the job is still scheduled on the server or service that runs it.
- Look at the job’s logs for errors, then run it by hand to see whether it finishes and pings.
- If it simply takes longer now, add the heartbeat again with a longer grace period in the Heartbeat monitoring dialog on Data connections, update the job with its new address and delete the old one.
When it clears
It clears as soon as the next ping arrives, and whoever heard it was late is told it’s back.