Skip to content

timings.yml reference

The timings file, timings.yml: timing names mapped to timings that any schedule can use with timing: <name>.

Where: timings.yml.

For editor autocomplete and validation, add this as the first line of the file (editor setup):

# yaml-language-server: $schema=https://getdre.com/schemas/v0.1/timings.schema.json

The file maps names to entries; each entry has these keys.

Key Type Default Description
cron string A cron expression (5 fields, or a macro such as @daily). A timing needs exactly one of cron, every or rrule.
every map (see below) Every N days, weeks or months, with exactly one unit, e.g. {days: 3}.
rrule string An iCalendar recurrence rule, e.g. FREQ=MONTHLY;BYDAY=2TU. Use starting for a rule with INTERVAL above 1 or COUNT, and at for its time of day.
starting string With every or rrule: the first date, YYYY-MM-DD. every needs it, and so does a rule with INTERVAL above 1, a COUNT, or a day it takes from its start.
at string With every or rrule: the time of day, HH:MM (24-hour), unless the rule sets BYHOUR/BYMINUTE. Default: 00:00.
except list of string Dates (YYYY-MM-DD, in its timezone) it doesn’t fire on, e.g. holidays.
also list of string Extra dates (YYYY-MM-DD) it fires on, at its time of day in its timezone. Needs a timing that fires at one time of day.
timezone string The timezone it fires in, an IANA name such as Australia/Sydney; schedules using the timing also run in it. Default: the project’s timezone:, then UTC.

Every N days, weeks or months, with exactly one unit, e.g. {days: 3}.

Key Type Default Description
days integer Every this many days.
weeks integer Every this many weeks.
months integer Every this many months.