Module: Sidecloq
- Defined in:
- lib/sidecloq.rb,
lib/sidecloq/web.rb,
lib/sidecloq/utils.rb,
lib/sidecloq/locker.rb,
lib/sidecloq/runner.rb,
lib/sidecloq/version.rb,
lib/sidecloq/schedule.rb,
lib/sidecloq/scheduler.rb,
lib/sidecloq/job_enqueuer.rb
Overview
Sideloq provides a lightweight recurring job scheduler for sidekiq
Defined Under Namespace
Modules: Utils, Web
Classes: JobEnqueuer, Locker, Runner, Schedule, Scheduler
Constant Summary
collapse
- VERSION =
'0.4.8'
Class Method Summary
collapse
Class Method Details
38
39
40
|
# File 'lib/sidecloq.rb', line 38
def self.configure
yield options
end
|
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/sidecloq.rb', line 58
def self.
return options[:schedule] if options[:schedule]
options[:schedule_file] ||= 'config/sidecloq.yml'
if File.exist?(options[:schedule_file])
return Schedule.from_yaml(options[:schedule_file])
elsif defined?(Rails)
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
Schedule.new({})
end
|
.install ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
|
# 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 ⇒ Object
30
31
32
|
# File 'lib/sidecloq.rb', line 30
def self.options
@options ||= {}
end
|
.options=(opts) ⇒ Object
34
35
36
|
# File 'lib/sidecloq.rb', line 34
def self.options=(opts)
@options = opts
end
|
.running? ⇒ Boolean
49
50
51
|
# File 'lib/sidecloq.rb', line 49
def self.running?
!!@runner
end
|
.shutdown ⇒ Object
53
54
55
56
|
# File 'lib/sidecloq.rb', line 53
def self.shutdown
@runner.stop(options[:timeout] || 10) if @runner
@runner = nil
end
|
.startup ⇒ Object
42
43
44
45
46
47
|
# File 'lib/sidecloq.rb', line 42
def self.startup
options[:schedule] ||= unless options[:scheduler]
@runner = Runner.new(options)
@runner.run
end
|