Back to Help Center

Cron/Heartbeat Monitoring

How this is different from a monitor

A regular monitor works by Dumza reaching OUT to your URL and checking the response. A heartbeat check is the opposite — a "dead man's switch": YOUR job calls a unique Dumza URL every time it finishes successfully. If that expected call doesn't arrive in time, Dumza alerts you that the job silently stopped running or failed partway through. This is for things with no HTTP endpoint at all: a nightly backup script, a cron-scheduled data sync, a queue worker.

Set one up

From the Heartbeats page, click Create, name it, and set the interval you expect your job to run at plus a grace period (extra buffer before Dumza considers it late). You'll get a unique check-in URL. You can copy it again from the heartbeat's own page at any time.

Wire it into your job

Call the check-in URL as the very last step of a successful run. A typical crontab entry: run your script, then, only if it succeeded, curl the check-in URL — so a failed run correctly never checks in and correctly triggers an alert. For example: */30 * * * * /path/to/backup.sh && curl -fsS https://dumza.com/api/heartbeat/<your-token>

First run grace period

A brand-new heartbeat check that's never received a check-in at all won't alert immediately at creation — it gets the same interval-plus-grace window to receive its first check-in before Dumza considers it overdue, giving you time to actually deploy the change.

Recovery

Once a heartbeat check starts checking in again after being overdue, you'll get a separate recovery notification — the same pattern as a monitor coming back up after an incident.

Alert channels

Heartbeat checks use the exact same alert channels as monitors (email, webhook, Telegram, Slack) — configure them on the heartbeat check's own page.

Free plan limit

Up to 20 heartbeat checks on the free plan; unlimited on every paid tier.

Pausing a check

You can pause a heartbeat check from its own page — Dumza stops watching for its check-ins entirely, so a paused check never goes overdue and never alerts. Paused checks also don't count against your plan's limit. If you downgrade to a plan that allows fewer heartbeat checks than you currently have, the oldest ones are paused automatically (the newest stay running); resume them from their pages after upgrading again.