class Puppet::Scheduler::Job

Attributes

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

Public Instance Methods

disable() click to toggle source
# File lib/puppet/scheduler/job.rb, line 34
def disable
  @enabled = false
end
enable() click to toggle source
# File lib/puppet/scheduler/job.rb, line 30
def enable
  @enabled = true
end
enabled?() click to toggle source
# File lib/puppet/scheduler/job.rb, line 26
def enabled?
  @enabled
end
interval_to_next_from(time) click to toggle source
# File lib/puppet/scheduler/job.rb, line 38
def interval_to_next_from(time)
  if ready?(time)
    0
  else
    @run_interval - (time - @last_run)
  end
end
ready?(time) click to toggle source
# File lib/puppet/scheduler/job.rb, line 18
def ready?(time)
  if @last_run
    @last_run + @run_interval <= time
  else
    true
  end
end
run(now) click to toggle source
# File lib/puppet/scheduler/job.rb, line 46
def run(now)
  @last_run = now
  if @run_proc
    @run_proc.call(self)
  end
end
run_interval=(interval) click to toggle source
# File lib/puppet/scheduler/job.rb, line 14
def run_interval=(interval)
  @run_interval = [interval, 0].max
end

Public Class Methods

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