Class: DelayedJobWorkerPool::DSL
- Inherits:
-
Object
- Object
- DelayedJobWorkerPool::DSL
show all
- Defined in:
- lib/delayed_job_worker_pool/dsl.rb
Defined Under Namespace
Classes: NoWorkerGroupsDefined, NonUniqueGroupName
Constant Summary
collapse
- CALLBACK_SETTINGS =
[:after_preload_app, :on_worker_boot, :after_worker_boot, :after_worker_shutdown].freeze
- DEFAULT_WORKER_GROUP_NAME =
:default
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(options) ⇒ DSL
Returns a new instance of DSL.
21
22
23
24
|
# File 'lib/delayed_job_worker_pool/dsl.rb', line 21
def initialize(options)
@options = options
@options[:worker_groups] ||= {}
end
|
Class Method Details
.load(path) ⇒ Object
11
12
13
14
15
16
17
18
19
|
# File 'lib/delayed_job_worker_pool/dsl.rb', line 11
def self.load(path)
options = {}
dsl = new(options)
dsl.instance_eval(File.read(path), path, 1)
dsl.assert_groups_defined!
options
end
|
Instance Method Details
#assert_groups_defined! ⇒ Object
41
42
43
44
45
|
# File 'lib/delayed_job_worker_pool/dsl.rb', line 41
def assert_groups_defined!
return unless @options[:worker_groups].empty?
raise NoWorkerGroupsDefined.new('No worker groups defined. Define groups using `worker_group`.')
end
|
#preload_app(preload = true) ⇒ Object
26
27
28
|
# File 'lib/delayed_job_worker_pool/dsl.rb', line 26
def preload_app(preload = true)
@options[:preload_app] = preload
end
|
#worker_group(name = DEFAULT_WORKER_GROUP_NAME) {|group_options| ... } ⇒ Object
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/delayed_job_worker_pool/dsl.rb', line 30
def worker_group(name = DEFAULT_WORKER_GROUP_NAME)
name_sym = name.to_sym
if @options[:worker_groups].key?(name_sym)
raise NonUniqueGroupName.new("Worker group name #{name_sym} is already in use")
end
group_options = WorkerGroupOptions.new
yield(group_options)
@options[:worker_groups][name_sym] = group_options
end
|