class Elected::Scheduler::Job
Attributes
callback[R]
name[R]
schedules[R]
Public Class Methods
new(name, &blk)
click to toggle source
# File lib/elected/scheduler/job.rb, line 9 def initialize(name, &blk) @name = name.to_s @callback = blk if block_given? @schedules = Set.new end
Public Instance Methods
at(options = {})
click to toggle source
# File lib/elected/scheduler/job.rb, line 21 def at(options = {}) schedules.add Schedule.new(options) self end
execute()
click to toggle source
# File lib/elected/scheduler/job.rb, line 30 def execute callback.call true rescue Exception => e error "Exception: #{e.class.name} : #{e.message}\n #{e.backtrace[0, 10].join("\n ")}" return false end
matches?(time)
click to toggle source
# File lib/elected/scheduler/job.rb, line 26 def matches?(time) schedules.any? { |s| s.matches? time } end
run(&blk)
click to toggle source
# File lib/elected/scheduler/job.rb, line 15 def run(&blk) raise 'must pass a block' unless block_given? @callback = blk self end
to_s()
click to toggle source
# File lib/elected/scheduler/job.rb, line 38 def to_s %{#<#{self.class.name} name="#{name}" schedules=#{schedules.map { |x| x.to_s }.inspect}>} end
Also aliased as: inspect