File: schedule_loader.rb

package info (click to toggle)
ruby-sidekiq-cron 1.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 408 kB
  • sloc: ruby: 2,156; sh: 8; makefile: 3
file content (22 lines) | stat: -rw-r--r-- 639 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'sidekiq'
require 'sidekiq/cron/job'
require 'sidekiq/options'

if Sidekiq.server?
  Sidekiq.configure_server do |config|
    schedule_file = Sidekiq::Options[:cron_schedule_file] || 'config/schedule.yml'

    if File.exist?(schedule_file)
      config.on(:startup) do
        schedule = YAML.load_file(schedule_file)
        if schedule.kind_of?(Hash)
          Sidekiq::Cron::Job.load_from_hash schedule
        elsif schedule.kind_of?(Array)
          Sidekiq::Cron::Job.load_from_array schedule
        else
          raise "Not supported schedule format. Confirm your #{schedule_file}"
        end
      end
    end
  end
end