class Rufus::Scheduler
def initialize (params={})
def initialize (params={}) super() @pending_jobs = [] @cron_jobs = {} @non_cron_jobs = {} @schedule_queue = Queue.new @unschedule_queue = Queue.new # # sync between the step() method and the [un]schedule # methods is done via these queues, no more mutex @scheduler_thread = nil @precision = 0.250 # every 250ms, the scheduler wakes up (default value) begin self.precision = Float(params[:scheduler_precision]) rescue Exception => e # let precision at its default value end @thread_name = params[:thread_name] || 'rufus scheduler' #@correction = 0.00045 @exit_when_no_more_jobs = false #@dont_reschedule_every = false @last_cron_second = -1 @stopped = true end