Documentation

Cron monitor

Use a five-field Cron expression, timezone, and grace period to create a stateful dead man's switch. Cronity alerts once when the job becomes failed and once when it recovers.

When to use it

Choose a Cron monitor when a job has a known schedule and silence should be treated as a failure: backups, billing runs, imports, and other recurring automation. If a process has no reliable schedule, use a Script monitor instead.

Schedule and grace period

  • Expressions use five numeric fields: minute, hour, day of month, month, weekday.
  • Lists, ranges, wildcards, and steps are supported; aliases such as @daily and seconds are not.
  • Runs must be at least 15 minutes apart.
  • The grace period can be 0–1,440 minutes and must be shorter than the smallest gap between runs.
  • The selected IANA timezone controls the schedule, including daylight-saving changes.
ExpressionMeaning
0 6 * * *Every day at 06:00
30 8 * * 1-5Weekdays at 08:30
0 */6 * * *Every six hours

Send a result

After creation, copy the unique ping URL from the monitor page and call it only after the job has finished successfully.

curl -fsS 'https://your-cronity-domain/p/YOUR_MONITOR_ID'

# Explicit failure
curl -fsS 'https://your-cronity-domain/p/YOUR_MONITOR_ID?state=fail'

A GET request is enough for a simple result. POST JSON when you also want to record a message, timestamps, metrics, or a payload; the Script monitor page documents that request format.

State and notifications

StateMeaning
LateThe scheduled time has passed, but the grace-period deadline has not.
FailNo successful result arrived by the deadline, or the job explicitly reported failure.
OKA successful result was recorded. A late success also recovers an already failed monitor.
PausedSchedule evaluation is disabled until the monitor is resumed.

Failure alerts are incident-based: repeated scheduler checks do not keep opening the same incident. A later successful ping resolves it and can produce a recovery notification.

Treat the ping URL like a secret. Anyone who has it can submit a result. Paused and deleted monitor URLs return “not found.”