module Sidecloq
Sideloq provides a lightweight recurring job scheduler for sidekiq
Constants
- VERSION
Public Class Methods
configure() { |options| ... }
click to toggle source
# File lib/sidecloq.rb, line 38 def self.configure yield options end
extract_schedule()
click to toggle source
# File lib/sidecloq.rb, line 58 def self.extract_schedule # do our best to do this automatically # schedule handed to us return options[:schedule] if options[:schedule] # try for a file options[:schedule_file] ||= 'config/sidecloq.yml' if File.exist?(options[:schedule_file]) return Schedule.from_yaml(options[:schedule_file]) elsif defined?(Rails) # try rails-root-relative full_path = File.join(Rails.root, options[:schedule_file]) if File.exist?(full_path) options[:schedule_file] = full_path return Schedule.from_yaml(options[:schedule_file]) end end # return an empty schedule Schedule.new({}) end
install()
click to toggle source
# File lib/sidecloq.rb, line 18 def self.install Sidekiq.configure_server do |config| config.on(:startup) do Sidecloq.startup end config.on(:shutdown) do Sidecloq.shutdown end end end
options()
click to toggle source
# File lib/sidecloq.rb, line 30 def self.options @options ||= {} end
options=(opts)
click to toggle source
# File lib/sidecloq.rb, line 34 def self.options=(opts) @options = opts end
running?()
click to toggle source
# File lib/sidecloq.rb, line 49 def self.running? !!@runner end
shutdown()
click to toggle source
# File lib/sidecloq.rb, line 53 def self.shutdown @runner.stop(options[:timeout] || 10) if @runner @runner = nil end
startup()
click to toggle source
# File lib/sidecloq.rb, line 42 def self.startup options[:schedule] ||= extract_schedule unless options[:scheduler] @runner = Runner.new(options) @runner.run end