⌁ Checkpulse

Schedules

A check expects pings on a schedule. When the expected time passes the check is late; when the grace period also runs out, it goes down and alerts are sent.

Intervals

An interval check expects the next success one interval after the previous success. Use it when a job runs every N minutes or hours, or when its exact clock time does not matter. The shortest interval on free accounts is one minute.

Durations accept 30s, 5m, 1h, 1d, and combinations such as 1h30m. The API also accepts a number of seconds.

Cron expressions

Cron checks expect a ping at each occurrence of a five-field expression, evaluated in an IANA time zone such as Europe/Paris or America/Vancouver.

┌ minute (0–59)
│ ┌ hour (0–23)
│ │ ┌ day of month (1–31, or L for the last day)
│ │ │ ┌ month (1–12 or JAN–DEC)
│ │ │ │ ┌ day of week (0–7 or SUN–SAT; 0 and 7 are Sunday)
│ │ │ │ │
* * * * *
SyntaxExampleMeaning
** * * * *Every minute.
List0,30 * * * *Minutes 0 and 30.
Range0 9-17 * * MON-FRIOn the hour, 09:00–17:00, weekdays.
Step*/15 * * * *Every 15 minutes.
L0 23 L * *23:00 on the last day of each month.
nL0 10 * * 5L10:00 on the last Friday of each month.
n#k0 10 * * 1#110:00 on the first Monday of each month.
Macros@hourly, @daily, @weekly, @monthly, @yearlyThe usual shortcuts.

When both day of month and day of week are restricted, either can match, as in traditional cron. A field that starts with * counts as unrestricted.

Daylight-saving changes are handled like the cronie daemon used by most Linux distributions. For schedules limited to certain hours, a time that repeats when clocks go back matches only once, and a time skipped when clocks go forward is expected right after the change. Schedules that run every hour follow the real clock. Expressions that can never match, such as February 30, are rejected.

Grace periods

The grace period is how long Checkpulse waits after the expected time before alerting. It also limits run time: after a /start signal, the job must finish within the grace period. Repeated starts do not extend that deadline.

Choose a grace period a little longer than the job's normal run time plus any delay in starting it.

Slow runs

When a run that reports both start and finish takes more than three times the median of its recent runs, and at least 30 seconds longer, Checkpulse records a slow event in the check's history. It needs at least five previous timed runs.

Changing a schedule

Changing the schedule of a check that has already been pinged restarts its deadline from the time of the change.

View as Markdown