diff --git a/src/Cron.hs b/src/Cron.hs index 5017e71d1..fe78ac694 100644 --- a/src/Cron.hs +++ b/src/Cron.hs @@ -207,13 +207,13 @@ nextCronMatch tz mPrev prec now c@Cron{..} = case notAfter of execRef ref wasExecd cronAbsolute = case execRef' ref wasExecd cronAbsolute of MatchAt t - | t <= ref -> MatchAsap + | t <= addUTCTime prec ref -> MatchAsap other -> other execRef' ref wasExecd cronAbsolute = case cronAbsolute of CronAsap -> MatchAt ref CronTimestamp{ cronTimestamp = localTimeToUTCTZ tz -> ts } - | ref <= ts || not wasExecd -> MatchAt ts + | ref <= addUTCTime prec ts || not wasExecd -> MatchAt ts | otherwise -> MatchNone CronCalendar{..} -> listToMatch $ do let @@ -341,7 +341,7 @@ nextCronMatch tz mPrev prec now c@Cron{..} = case notAfter of let localTimeOfDay = TimeOfDay (fromIntegral mCronHour) (fromIntegral mCronMinute) (fromIntegral mCronSecond) res = localTimeToUTCTZ tz LocalTime{..} - guard $ res >= ref + guard $ addUTCTime prec res >= ref return res CronNotScheduled -> MatchNone