class Rufus::Scheduler

def initialize (params={})

def initialize (params={})
    super()
    @pending_jobs = []
    @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
        @precision = Float(params[:scheduler_precision])
    rescue Exception => e
        # let precision at its default value
    end
    @exit_when_no_more_jobs = false
    @dont_reschedule_every = false
    @last_cron_second = -1
    @stopped = true
end