Browse docs

What is cron monitoring

How WatchCat detects when scheduled jobs miss a run, start late, or never finish.

Cron jobs and background tasks fail silently. When a database backup doesn't run at 03:00, or a nightly sync stops partway through, nothing in your application surfaces the failure. You only find out hours later — if at all.

Cron monitoring flips this around. Instead of WatchCat polling your job, your job pings WatchCat when it runs. If the expected ping doesn't arrive on time, WatchCat treats the job as failed and sends an alert.

The heartbeat model

Each cron monitor gets a unique URL — its ping endpoint. Your job sends an HTTP request to that URL when it completes. WatchCat records the ping and resets the clock. As long as pings arrive within the expected window, the monitor stays green.

The expected window is set by two values: the schedule (when the job is supposed to run) and the grace period (extra time allowed before the missing ping triggers an alert).

Sending a ping

A ping is a plain HTTP request — GET or POST. Any tool that can make an HTTP request works: curl, wget, a language HTTP client, or a no-code automation platform like Make.com or n8n.

Ping when the job finishes

curl https://watchcat.io/p/cron/YOUR_TOKEN

Track start and end separately

curl https://watchcat.io/p/cron/YOUR_TOKEN/start
# ... run your job ...
curl https://watchcat.io/p/cron/YOUR_TOKEN/end

Signal a failure explicitly

curl https://watchcat.io/p/cron/YOUR_TOKEN/fail

Grace period

Jobs don't always run at the exact second they're scheduled. A queue backlog, a slow server boot, or a brief resource spike can delay a job by a few minutes without anything being wrong.

The grace period gives your job extra time before WatchCat treats the missing ping as a failure. If the ping arrives within the grace period, the run is considered on time. If it arrives after — or not at all — an incident is opened.

Example: A job scheduled every hour with a 5-minute grace period must ping WatchCat within 65 minutes of the expected run time. A ping at 62 minutes is fine; a ping at 70 minutes opens an incident.

Start / end tracking

Sending both a start and an end ping lets WatchCat detect two additional failure modes:

  • Job started but never finished — the start ping arrived but the end ping didn't. This catches jobs that hang or crash mid-run.
  • Overlap — a new run started before the previous one finished. This can indicate a job taking longer than its interval, which can cause resource contention.

Incidents

When a ping is missing, late, or a fail signal arrives, WatchCat opens an incident and triggers your configured alerts. The incident stays open while the problem persists. It resolves automatically when the next valid ping arrives.

What to monitor

  • Database backups — nightly pg_dump or mysqldump scripts
  • Invoice or billing jobs — missed runs mean lost revenue
  • Sync jobs — data pipelines that run on a schedule
  • Cleanup tasks — log rotation, expired session purges
  • Third-party automation flows — Make.com, n8n, Zapier scenarios

Start monitoring in minutes

Free plan available. No credit card required.