lib/sidekiq-scheduler.rb



require 'sidekiq'

require_relative 'sidekiq-scheduler/version'
require_relative 'sidekiq-scheduler/manager'

Sidekiq.configure_server do |config|

  config.on(:startup) do
    scheduler_options = {
      :scheduler => config.options.fetch(:scheduler, true),
      :dynamic => config.options.fetch(:dynamic, false),
      :schedule => config.options.fetch(:schedule, nil)
    }

    schedule_manager = SidekiqScheduler::Manager.new(scheduler_options)
    config.options[:schedule_manager] = schedule_manager
    config.options[:schedule_manager].start
  end

  config.on(:shutdown) do
    config.options[:schedule_manager].stop
  end

end