● Alwaysbeat

Using Alwaysbeat

Schedules & grace

A check's schedule says when a ping is expected; its grace period says how late a ping may be before the check is considered down.

Two kinds of schedule

Interval

Use an interval when the job runs roughly every N minutes/hours, regardless of wall-clock time. The value is a duration like 30s, 15m, 1h, or 24h. The next deadline is measured from the last ping.

kind:     interval
interval: 1h      # a ping is expected within an hour of the last one

Cron

Use a cron expression when the job runs at specific clock times — "3 AM every day", "every Monday at 9". Alwaysbeat uses the standard 5-field cron syntax:

# ┌───── minute (0–59)
# │ ┌─── hour (0–23)
# │ │ ┌─ day of month (1–31)
# │ │ │ ┌ month (1–12)
# │ │ │ │ ┌ day of week (0–6, Sun=0)
  0 3 * * *        # every day at 03:00
  */15 * * * *     # every 15 minutes
  0 9 * * 1        # Mondays at 09:00

The named descriptors @hourly, @daily, @weekly, @monthly, and @yearly are also accepted. There is no seconds field.

Timezones

Every cron check stores an explicit IANA timezone (e.g. Australia/Melbourne, America/New_York, UTC). Cron times are evaluated in that zone, and Daylight Saving Time transitions are handled correctly — a 0 3 * * * job fires at 3 AM local time on both sides of a DST change, never skipped or doubled.

Always set a real timezone Wall-clock schedules without an explicit zone are a classic source of "it ran an hour early twice a year" bugs. Alwaysbeat requires a timezone on every cron check for exactly this reason.

Grace period

Real jobs don't finish at the same instant every time — they queue, they vary with load, the machine is busy. The grace period is the slack you allow after the scheduled deadline before the check is marked down. It's a duration like 5m or 1h.

Concretely, the deadline is:

deadline = next_scheduled_time + grace

A check flips to down only once the current time passes that deadline. For an interval check that last pinged at T, the deadline is T + interval + grace. For a cron check, it's the next cron fire time plus grace.

Choosing a grace period

Pausing

Pausing a check stops all deadline evaluation and alerting until you resume it — useful during planned maintenance. A paused check is never marked down. The next ping after resuming (or the Resume button) puts it back into normal operation.