How heartbeats work

Monitor cron jobs, background workers, and scheduled tasks by having them check in with Watchplane.

Regular monitors check your service from the outside. A heartbeat flips that around — your job checks in with Watchplane after each successful run. If the check-in stops arriving, you get alerted.

This is ideal for anything that runs on a schedule: nightly backups, data imports, report generation, queue processors, or any job that should run regularly and silently.

How it works

  1. Create a heartbeat in your project and give it a name and expected interval
  2. Watchplane gives you a unique ping URL
  3. At the end of each successful run, your job makes a simple HTTP request to that URL
  4. If Watchplane doesn’t receive a ping within the interval (plus any grace period you’ve set), it creates an incident

That’s it. No agents to install, no special libraries — just a single HTTP request from your existing job.

Creating a heartbeat

In your project, click Add monitor and choose Heartbeat. Configure:

Name — something descriptive like “Nightly database backup” or “Invoice sync job”.

Expected interval — how often the job should ping. Set this to match your cron schedule: hourly, daily, every 15 minutes, etc.

Grace period — extra time to wait before alerting. If your job usually finishes in 30 minutes but occasionally takes 45, set a 20-minute grace period to avoid false alarms.

Reading ping history

The heartbeat detail page shows a timeline of every ping received, including the timestamp. Use this to verify your job is running on schedule and to diagnose missed runs.

Next steps

  • Ping URL reference — how to send pings from cron, shell scripts, Node, Python, and GitHub Actions
Documentation