CronWarden

Schedules & intervals

A monitor's schedule tells CronWarden when to expect the next check-in. There are two ways to describe it.

Interval

For a job that runs on a fixed cadence, give an interval: "every 5 minutes", "every hour". CronWarden expects a check-in each interval and starts counting toward "late" when one doesn't arrive on time.

Use an interval when the job runs roughly on a period rather than at a specific clock time — a worker loop, a poll, a heartbeat.

Cron expression

For a job scheduled at specific times, use the same cron expression your scheduler uses:

0 3 * * *      # every day at 03:00
*/15 * * * *   # every 15 minutes
0 9 * * 1-5    # 09:00, Monday to Friday

CronWarden parses the expression and computes each expected check-in time from it, so the monitor's expectations match your crontab exactly. An invalid expression is rejected when you save the monitor.

Timezone

Cron schedules are evaluated in a timezone, which you set per monitor as an IANA name like America/New_York or UTC (the default). This matters for jobs tied to local time — a "3 a.m." backup should stay at 3 a.m. local across daylight-saving changes.

How often you can check in

Each plan sets the shortest interval it will accept, so a monitor can't be scheduled to check in more frequently than your tier allows. See Plan limits for the per-tier minimums. If a cron expression resolves to a cadence faster than your minimum, CronWarden rejects it.

You don't have to check in on every run, though — and a job that runs faster than your minimum doesn't have to go unmonitored. Have it check in only every Nth run, and set the monitor's schedule to that slower cadence. A job that runs every minute can report every fifth run, with its monitor expecting a check-in every five minutes:

# in a script that runs every minute
if (( $(date +%M) % 5 == 0 )); then
  curl -fsS https://cronwarden.com/ping/your-ping-key
fi

Or keep the check-in out of the job entirely and run a separate, less-frequent cron that does nothing but ping. Either way the job stays covered: as long as it keeps running, the periodic check-in keeps arriving; the moment it stops, so does the check-in, and CronWarden alerts you. The trade-off is resolution — a single skipped run between check-ins won't be caught — but the job is still monitored, within your plan's limits.

Next