---
title: Heartbeat & cron job monitoring
description: A nightly backup that silently stopped running three weeks ago is the failure no uptime check can see. The new heartbeat monitor works in reverse: your…
canonical: https://watchfor.io/changelog/2026-07-26-heartbeat-cron-monitoring
---

[All updates](/changelog/page/7#2026-07-26-heartbeat-cron-monitoring) ✨ New Jul 26, 2026 · v 4.6.2

# Heartbeat & cron job monitoring

A nightly backup that silently stopped running three weeks ago is the failure no uptime check can see. The new heartbeat monitor works in reverse: your backup, cron job or worker pings a unique URL when it runs, and WatchFor alerts you when the ping does not arrive on time. Set an interval or cron schedule with a grace period, report exit codes, and reuse Healthchecks-compatible ping URLs. A heartbeat counts as a regular monitor — no separate pricing.

Copy the ping URL and add one line to your job.

Every ping, missed window and run duration in one log.

## How it works

- Create a monitor and choose Heartbeat for a job that checks in every N minutes, or Cron job for one that runs on a cron schedule in your timezone.

- Set a grace period for normal variation. A backup that takes 10 to 40 minutes needs more slack than a worker that pings every minute.

- The Setup tab gives you a unique ping URL and commands ready to paste. Any HTTP method works, and you can attach up to 10 KB of output, such as the job's last log lines.

- Add the exit code ( /p/<token>/$? ) or call /fail , and a broken run is reported as run failed instead of a misleading missed .

- Send a /start ping as well, and every run gets a measured duration.

## Example

Your backup runs at 03:00 and usually takes 20 minutes. You set the cron schedule 0 3 * * * with 45 minutes of grace and add one line to the job:

0 3 * * * /usr/local/bin/backup.sh; curl -fsS https://ingest.watchfor.io/p/<token>/$?

After a server rebuild the crontab never comes back, so nothing pings. At 03:45 the Missed schedule incident opens and your team hears about it the same morning, not three weeks later when someone needs a restore.

## Coming from Healthchecks

The URL suffixes /start , /fail , /<exit-code> and ?rid= work the same way. Replace the base of the URL and keep the rest.

## Where

New monitor → Heartbeat or Cron job . The [heartbeat guide](/docs/monitors/heartbeat) covers every endpoint and alert rule.

Since then, a bug where a non-zero exit code did not open a Run failed incident has been fixed. See [the fix](/changelog/2026-09-03-heartbeat-exit-codes).

Share this update

---

Canonical page: https://watchfor.io/changelog/2026-07-26-heartbeat-cron-monitoring · Site guide: https://watchfor.io/llms.txt
