Daylight Saving Time and Job Schedulers
Support for Daylight Saving Time (“DST”) within job schedulers varies widely. Different schedulers handle DST differently. An often-asked question of users of schedulers is “what happens during a DST event?” We strongly suggest you query your scheduler vendor and ask.
Flux provides two types of scheduling definitions – cron-style and relative time expressions. Cron-style time expressions behave in the following manner when encountering a Daylight Saving Time switch. None of the following applies to Flux’s relative time expressions (which are not impacted by DST).
- In the spring (when time “springs forward”), any trigger set to fire between and including 2 AM to 2:59:59 AM will be skipped since the interval from 2 AM to 2:59:59 AM does not exist during the DST change.
- In the fall (when time “falls backward”), any trigger set to fire at 2 AM will fire at the 2 AM after the DST change has occurred. It will not fire twice – i.e., the trigger does NOT FIRE at the 2 AM that would have occurred before the DST change and again at the 2 AM that occurs after falling back to 1 AM and again progressing to 2 AM).
Additional Questions and Answers:
During the spring DST change when
2ambecomes 3am, how does a timer trigger interact with the “late time window” and “makeup firing”? Does Flux think that 3:00amwas more than an hour after 1:59am, and so if the late time window were 90 minutes or makeup firing were enabled, a trigger scheduled at 2:01amwould run at or shortly after the “new” 3:00am.
Answer: No. When Flux fires a timer trigger, Flux then looks forward in time to schedule the next firing. Because of the DST spring ahead, the time interval on the DST date 2:00:00 AM to 2:59:59 does not exist – so when Flux schedules a job ( using 0 0 1 2 as the time expression) to run at 2:01 AM on the DST date, it actually schedules the job to run on DST date + 1 day 2:01 AM. Since a timer trigger can never fire at 2:01 AM, it can not late fire either. Setting a late time window or makeup firing will have no impact in this case.
During the fall DST change, will triggers scheduled to fire between 01:00 and 01:59 trigger twice. Will the 1 o’clock hour be repeated?
Answer: No. After a timer trigger fires, Flux then schedules the trigger for its next firing. Flux always schedules into the future. So a trigger set to fire at say 1:15 AM and 1:30 AM – once fired – would reschedule for the next day at 1:15 and 1:30. The 1:15 and 1:30 firings would not be repeated during a DST fallback.