class Sidekiq::Scheduler
def self.load_schedule_job(name, config)
def self.load_schedule_job(name, config) # If rails_env is set in the config, enforce ENV['RAILS_ENV'] as # required for the jobs to be scheduled. If rails_env is missing, the # job should be scheduled regardless of what ENV['RAILS_ENV'] is set # to. if config['rails_env'].nil? || self.rails_env_matches?(config) logger.info "Scheduling #{name} " interval_defined = false interval_types = %w{cron every} interval_types.each do |interval_type| if !config[interval_type].nil? && config[interval_type].length > 0 args = self.optionizate_interval_value(config[interval_type]) @@scheduled_jobs[name] = self.rufus_scheduler.send(interval_type, *args) do logger.info "queueing #{config['class']} (#{name})" config.delete(interval_type) self.handle_errors { self.enqueue_from_config(config) } end interval_defined = true break end end unless interval_defined logger.info "no #{interval_types.join(' / ')} found for #{config['class']} (#{name}) - skipping" end end end