Class: SidekiqScheduler::Manager

Inherits:
Object
  • Object
show all
Includes:
Celluloid, Sidekiq::Util
Defined in:
lib/sidekiq-scheduler/manager.rb

Overview

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

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Manager

Returns a new instance of Manager.



21
22
23
24
25
26
27
# File 'lib/sidekiq-scheduler/manager.rb', line 21

def initialize(options={})
  @enabled = options[:scheduler]
  @resolution = options[:resolution] || 5

  Sidekiq::Scheduler.dynamic = options[:dynamic] || false
  Sidekiq.schedule = options[:schedule] if options[:schedule]
end

Instance Method Details

#resetObject



45
46
47
# File 'lib/sidekiq-scheduler/manager.rb', line 45

def reset
  clear_scheduled_work
end

#startObject



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/sidekiq-scheduler/manager.rb', line 33

def start
  #Load the schedule into rufus
  #If dynamic is set, load that schedule otherwise use normal load
  if @enabled && Sidekiq::Scheduler.dynamic
    Sidekiq::Scheduler.reload_schedule!
  elsif @enabled
    Sidekiq::Scheduler.load_schedule!
  end

  schedule(true)
end

#stopObject



29
30
31
# File 'lib/sidekiq-scheduler/manager.rb', line 29

def stop
  @enabled = false
end