class Rufus::Scheduler::CronJobQueue
Tracking cron jobs.
def << (job)
def << (job) @mutex.synchronize do delete(job.job_id) @jobs << job end end
def initialize
def initialize super @last_cron_second = nil end
def trigger_matching_jobs
def trigger_matching_jobs now = Time.now return if now.sec == @last_cron_second @last_cron_second = now.sec # # ensuring the crons are checked within 1 second (not 1.2 second) jobs = @mutex.synchronize { @jobs.dup } jobs.each { |job| job.trigger_if_matches(now) } end