class SidekiqScheduler::Manager


from Redis onto the work queues
manages the scheduled jobs pushed messages
The delayed job router in the system. This

def initialize(options)

def initialize(options)
  scheduler_options = load_scheduler_options(options)
  @scheduler_instance = SidekiqScheduler::Scheduler.new(scheduler_options)
  SidekiqScheduler::Scheduler.instance = @scheduler_instance
  Sidekiq.schedule = scheduler_options[:schedule] if @scheduler_instance.enabled
end

def load_scheduler_options(options)

def load_scheduler_options(options)
  options[:listened_queues_only] = options.fetch(:scheduler, {})[:listened_queues_only]
  scheduler_options = DEFAULT_SCHEDULER_OPTIONS.merge(options)
  current_options = {
    enabled: SidekiqScheduler::Scheduler.enabled,
    dynamic: SidekiqScheduler::Scheduler.dynamic,
    dynamic_every: SidekiqScheduler::Scheduler.dynamic_every,
    schedule: Sidekiq.schedule,
    listened_queues_only: SidekiqScheduler::Scheduler.listened_queues_only
  }.delete_if { |_, value| value.nil? }
  scheduler_options.merge(current_options)
end

def start

def start
  @scheduler_instance.load_schedule!
end

def stop

def stop
  @scheduler_instance.clear_schedule!
end