Browse docs

Create your first cron monitor

Get a ping URL, add one line to your job, and get alerted when it stops running.

A cron monitor watches for heartbeat pings from your scheduled job. If a ping doesn't arrive within the expected window, WatchCat opens an incident and alerts your team. Setup takes under two minutes.

Step 1 — create the monitor

From the cron monitors list, click Create cron monitor and fill in:

Name A short description of the job, e.g. "Nightly DB backup" or "Invoice sync"
Schedule How often the job runs — enter a number and pick a unit (minutes, hours, or days). For example, a job that runs every night uses an interval of 1 day.
Grace period Extra time before a late ping triggers an alert. Start with 5 minutes; increase if the job takes a while to complete.

Save the monitor. You'll land on its detail page where you can copy the ping URL.

Step 2 — add a ping to your job

Add a single HTTP request at the end of your job. Use whatever HTTP client is available in your environment — curl works everywhere.

Shell / bash

#!/bin/bash
# ... your job logic ...

curl -fsS https://watchcat.io/p/cron/YOUR_TOKEN > /dev/null

Python

# ... your job logic ...

import urllib.request
urllib.request.urlopen("https://watchcat.io/p/cron/YOUR_TOKEN")

Node.js

// ... your job logic ...

await fetch("https://watchcat.io/p/cron/YOUR_TOKEN");

Place the ping after your job logic. If the job throws an error and exits early, the ping won't fire — and WatchCat will treat the missing ping as a failure once the grace period expires. That's the correct behaviour.

Step 3 — assign a notification channel

In the monitor settings, select one or more notification channels under Notifications. If you haven't set one up yet, go to Notification channels → New channel and create a channel that emails your team. How notification channels work →

Step 4 — verify the first ping arrives

Run your job manually once, or wait for its next scheduled run. Go back to the cron monitor detail page and confirm the Last ping timestamp updated. The monitor status will change from Waiting to OK after the first successful ping.

Optional — start and end tracking

If your job runs for more than a few seconds, consider sending a start ping at the beginning and an end ping when it finishes. This lets WatchCat detect jobs that started but stalled or crashed mid-run.

curl -fsS https://watchcat.io/p/cron/YOUR_TOKEN/start > /dev/null

# ... your job logic ...

curl -fsS https://watchcat.io/p/cron/YOUR_TOKEN/end > /dev/null

Start monitoring in minutes

Free plan available. No credit card required.