2.3.0
Schedules in your time zone, and a pause button
Schedules take an IANA time zone and follow daylight saving. Pause and resume a schedule without a deploy.
- New
- Improved
Time zones
Schedules used to run in UTC, which meant a “9 o’clock” report moved by an hour twice a year. A schedule can now name an IANA time zone:
runnel.schedule({
name: 'morning-digest',
cron: '0 9 * * 1-5',
timezone: 'Europe/London',
job: sendDigest,
payload: {},
});When the clocks go forward, a time that does not exist that day (such as 01:30) runs at the next valid minute. When they go back, a repeated time runs once. Schedules without a timezone keep running in UTC, so nothing changes until you add one.
Pause and resume
Every schedule now has a pause button in the dashboard, and the API returns paused on each schedule of a job. A paused schedule keeps its definition and resumes at its next tick; it does not catch up on the runs it missed. A deploy does not undo a pause.
Improved
- The schedules page lists the next five run times, in the schedule’s own time zone and in yours.
- Invalid cron expressions are now caught by
runnel deploy, with the field that is wrong, instead of at the first tick.
Fixes
- A schedule removed from code was still shown in the dashboard until the next deploy.