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 Sidekiq.logger.error ex.message Sidekiq.logger.error ex.backtrace.first handle_exception(ex) if respond_to?(:handle_exception) end
Private Instance Methods
enqueue_job(job, time = Time.now.utc)
click to toggle source
# File lib/sidekiq/cron/poller.rb, line 27 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 Sidekiq.logger.error "CRON JOB: #{ex.message}" Sidekiq.logger.error "CRON JOB: #{ex.backtrace.first}" handle_exception(ex) if respond_to?(:handle_exception) end
poll_interval_average()
click to toggle source
# File lib/sidekiq/cron/poller.rb, line 36 def poll_interval_average Sidekiq.options[:poll_interval] || POLL_INTERVAL end