class Sidekiq::Cron::Poller

The Poller checks Redis every N seconds for sheduled cron jobs

Public Instance Methods

enqueue() click to toggle source
# File lib/sidekiq/cron/poller.rb, line 12
def enqueue
  time = Time.now.utc
  Sidekiq::Cron::Job.all.each do |job|
    enqueue_job(job, time)
  end
rescue => ex
  # Most likely a problem with redis networking.
  # Punt and try again at the next interval
  logger.error ex.message
  logger.error ex.backtrace.first
end

Private Instance Methods

enqueue_job(job, time = Time.now.utc) click to toggle source
# File lib/sidekiq/cron/poller.rb, line 26
def enqueue_job(job, time = Time.now.utc)
  job.test_and_enque_for_time! time if job && job.valid?
rescue => ex
  # problem somewhere in one job
  logger.error "CRON JOB: #{ex.message}"
  logger.error "CRON JOB: #{ex.backtrace.first}"
end
poll_interval_average() click to toggle source
# File lib/sidekiq/cron/poller.rb, line 34
def poll_interval_average
   Sidekiq.options[:poll_interval] || POLL_INTERVAL
end