From 66ef7976eaaf553255c654b08e146735c524c9be Mon Sep 17 00:00:00 2001 From: Sam Date: Mon, 24 Jul 2017 14:30:35 -0400 Subject: [PATCH] FIX: don't re-scheduler correctly scheduled daily tasks --- lib/scheduler/schedule_info.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/scheduler/schedule_info.rb b/lib/scheduler/schedule_info.rb index 25806dd6303..08c77569672 100644 --- a/lib/scheduler/schedule_info.rb +++ b/lib/scheduler/schedule_info.rb @@ -28,6 +28,9 @@ module Scheduler @next_run = @prev_run = @prev_result = @prev_duration = @current_owner = nil end + # this means the schedule is going to fire, it is setup correctly + # invalid schedules are fixed by running "schedule!" + # this happens automatically after if fire by the manager def valid? return false unless @next_run (!@prev_run && @next_run < Time.now.to_i + 5.minutes) || valid_every? || valid_daily? @@ -42,8 +45,9 @@ module Scheduler def valid_daily? return false unless @klass.daily + return true if !@prev_run && @next_run && @next_run <= (Time.zone.now + 1.day).to_i !!@prev_run && - @prev_run <= Time.now.to_i && + @prev_run <= Time.zone.now.to_i && @next_run < @prev_run + 1.day end