Class: Ductwork::Processes::ThreadSupervisorRunner
- Inherits:
-
Object
- Object
- Ductwork::Processes::ThreadSupervisorRunner
- Defined in:
- lib/ductwork/processes/thread_supervisor_runner.rb
Instance Method Summary collapse
-
#initialize(*pipelines) ⇒ ThreadSupervisorRunner
constructor
A new instance of ThreadSupervisorRunner.
- #run ⇒ Object
Constructor Details
#initialize(*pipelines) ⇒ ThreadSupervisorRunner
Returns a new instance of ThreadSupervisorRunner.
6 7 8 9 |
# File 'lib/ductwork/processes/thread_supervisor_runner.rb', line 6 def initialize(*pipelines) @pipelines = pipelines @supervisor = Ductwork::Processes::ThreadSupervisor.new end |
Instance Method Details
#run ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/ductwork/processes/thread_supervisor_runner.rb', line 11 def run if Ductwork.configuration.role.in?(%w[all advancer]) pipelines.each do |pipeline| Ductwork.configuration.pipeline_advancer_count(pipeline).times do |index| log_created_pipeline_advancer(pipeline, index) supervisor.add_worker(metadata: { pipeline: }) do pipeline_advancer.new(pipeline, index) end end end end if Ductwork.configuration.role.in?(%w[all worker]) pipelines.each do |pipeline| Ductwork.configuration.job_worker_count(pipeline).times do |index| log_created_job_worker(pipeline, index) supervisor.add_worker(metadata: { pipeline: }) do job_worker.new(pipeline, index) end end end end supervisor.run end |