class Puppet::Scheduler::Job

Attributes

last_run[RW]
run_interval[R]
start_time[RW]

Public Class Methods

new(run_interval, &block) click to toggle source
   # File lib/puppet/scheduler/job.rb
 7 def initialize(run_interval, &block)
 8   self.run_interval = run_interval
 9   @last_run = nil
10   @run_proc = block
11   @enabled = true
12 end

Public Instance Methods

disable() click to toggle source
   # File lib/puppet/scheduler/job.rb
34 def disable
35   @enabled = false
36 end
enable() click to toggle source
   # File lib/puppet/scheduler/job.rb
30 def enable
31   @enabled = true
32 end
enabled?() click to toggle source
   # File lib/puppet/scheduler/job.rb
26 def enabled?
27   @enabled
28 end
interval_to_next_from(time) click to toggle source
   # File lib/puppet/scheduler/job.rb
38 def interval_to_next_from(time)
39   if ready?(time)
40     0
41   else
42     @run_interval - (time - @last_run)
43   end
44 end
ready?(time) click to toggle source
   # File lib/puppet/scheduler/job.rb
18 def ready?(time)
19   if @last_run
20     @last_run + @run_interval <= time
21   else
22     true
23   end
24 end
run(now) click to toggle source
   # File lib/puppet/scheduler/job.rb
46 def run(now)
47   @last_run = now
48   if @run_proc
49     @run_proc.call(self)
50   end
51 end
run_interval=(interval) click to toggle source
   # File lib/puppet/scheduler/job.rb
14 def run_interval=(interval)
15   @run_interval = [interval, 0].max
16 end