class Rufus::Scheduler::CronJob
Attributes
cron_line[R]
Public Class Methods
new(scheduler, cronline, opts, block)
click to toggle source
Calls superclass method
Rufus::Scheduler::RepeatJob.new
# File lib/rufus/scheduler/jobs.rb, line 630 def initialize(scheduler, cronline, opts, block) super(scheduler, cronline, opts, block) @cron_line = opts[:_t] || ::Fugit::Cron.parse(cronline) set_next_time(nil) end
Public Instance Methods
brute_frequency()
click to toggle source
# File lib/rufus/scheduler/jobs.rb, line 654 def brute_frequency @cron_line.brute_frequency end
check_frequency()
click to toggle source
# File lib/rufus/scheduler/jobs.rb, line 639 def check_frequency return if @scheduler.frequency <= 1 # # The minimum time delta in a cron job is 1 second, so if the # scheduler frequency is less than that, no worries. f = @cron_line.rough_frequency fail ArgumentError.new( "job frequency (min ~#{f}s) is higher than " + "scheduler frequency (#{@scheduler.frequency}s)" ) if f < @scheduler.frequency end
rough_frequency()
click to toggle source
# File lib/rufus/scheduler/jobs.rb, line 659 def rough_frequency @cron_line.rough_frequency end
Protected Instance Methods
next_time_from(time)
click to toggle source
# File lib/rufus/scheduler/jobs.rb, line 671 def next_time_from(time) if @first_at == nil || @first_at <= time @cron_line.next_time(time) else @first_at end end
set_next_time(trigger_time, is_post=false)
click to toggle source
# File lib/rufus/scheduler/jobs.rb, line 666 def set_next_time(trigger_time, is_post=false) @next_time = next_time_from(trigger_time || Time.now) end