Use ActiveSupport::Duration to apply time offsets #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Using seconds to apply the time offsets when the parsed time is in the past is not time zone aware. This causes issues when DST begins/ends between the two times. For example, daily jobs are scheduled an hour earlier than the are supposed to when DST ends since it doesn't take the extra hour into account. This causes further issues when calculating the next offset time, the offset to prevent scheduling past times doesn't apply as expected and the job is scheduled over and over. As a related issue, we sometimes need a two hour jump to bring the parsed time to the future, add a while loop to handle this case.