-
Notifications
You must be signed in to change notification settings - Fork 621
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix infinite looping bugs with recurrent tasks around DST #639
Fix infinite looping bugs with recurrent tasks around DST #639
Commits on Mar 5, 2023
-
Fix infinite loops in _getNextDateFrom when looking for time points i…
…nside skipped hours/minutes due to DST shifting time forward. This is done by detecting a forward shift of time, then scanning the skipped range for candidate firing times. A jumped over job due to DST still fires exactly once, as it should. This firing happens immediately upon shifting time. This also fixes another, less-intrusive bug where a skipped-over time period in DST is not recognized as a firing candidate. (e.g. before: 1:30 -> 3:30, after: 1:30 -> 3:00 -> 3:30 given a 2AM to 3AM forward shift)
Configuration menu - View commit details
-
Copy full SHA for 3277e80 - Browse repository at this point
Copy the full SHA 3277e80View commit details -
Configuration menu - View commit details
-
Copy full SHA for 245c7f2 - Browse repository at this point
Copy the full SHA 245c7f2View commit details -
Fix infinite loops in _getNextDateFrom when looking for time points i…
…nside skipped hours/minutes due to DST shifting time forward. This is done by detecting a forward shift of time, then scanning the skipped range for candidate firing times. A jumped over job due to DST still fires exactly once, as it should. This firing happens immediately upon shifting time. This also fixes another, less-intrusive bug where a skipped-over time period in DST is not recognized as a firing candidate. (e.g. before: 1:30 -> 3:30, after: 1:30 -> 3:00 -> 3:30 given a 2AM to 3AM forward shift)
Configuration menu - View commit details
-
Copy full SHA for 41baa43 - Browse repository at this point
Copy the full SHA 41baa43View commit details -
clean up the _checkTimeInSkippedRange function
Both to have less while loops and fix what looked like a bug. The bug was undiscovered because it would happen for DST jumps that do not exist in the real world.
Configuration menu - View commit details
-
Copy full SHA for 8dd4610 - Browse repository at this point
Copy the full SHA 8dd4610View commit details -
add extra tests for covering all cases of '_checkTimeInSkippedRange'.
This includes presumed jumps that empirically will not happen. These should still be tested because the functions are implemented in such a way that they would presumably still handle them.
Configuration menu - View commit details
-
Copy full SHA for df27c5e - Browse repository at this point
Copy the full SHA df27c5eView commit details -
Configuration menu - View commit details
-
Copy full SHA for d95121a - Browse repository at this point
Copy the full SHA d95121aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 21fb8c9 - Browse repository at this point
Copy the full SHA 21fb8c9View commit details -
Fix broken logic in the do/while loop for finding the nearest past fo…
…rward DST jump. It subtracted hours in the loop for no reason. And there was no loop variable.
Configuration menu - View commit details
-
Copy full SHA for d1dfa8d - Browse repository at this point
Copy the full SHA d1dfa8dView commit details -
add comments clarifying the purpose of 'beforeJumpingPoint' and 'afte…
…rJumpingPoint' for `_checkTimeInSkippedRange`.
Configuration menu - View commit details
-
Copy full SHA for 46734fa - Browse repository at this point
Copy the full SHA 46734faView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1168c18 - Browse repository at this point
Copy the full SHA 1168c18View commit details -
Configuration menu - View commit details
-
Copy full SHA for 104e0df - Browse repository at this point
Copy the full SHA 104e0dfView commit details -
Swap function parameter ordering for `_checkTimeInSkippedRangeMultiHo…
…ur`. Now represents HH:mm (start), HH:mm (end).
Configuration menu - View commit details
-
Copy full SHA for 68c527e - Browse repository at this point
Copy the full SHA 68c527eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 41b6fad - Browse repository at this point
Copy the full SHA 41b6fadView commit details