Class: Ductwork::Processes::PipelineAdvancerRunner
- Inherits:
-
Object
- Object
- Ductwork::Processes::PipelineAdvancerRunner
- Defined in:
- lib/ductwork/processes/pipeline_advancer_runner.rb
Instance Method Summary collapse
-
#initialize(*klasses) ⇒ PipelineAdvancerRunner
constructor
A new instance of PipelineAdvancerRunner.
- #run ⇒ Object
Constructor Details
#initialize(*klasses) ⇒ PipelineAdvancerRunner
Returns a new instance of PipelineAdvancerRunner.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/ductwork/processes/pipeline_advancer_runner.rb', line 6 def initialize(*klasses) @klasses = klasses @running_context = Ductwork::RunningContext.new @advancers = [] Signal.trap(:INT) { running_context.shutdown! } Signal.trap(:TERM) { running_context.shutdown! } Signal.trap(:TTIN) do Thread.list.each do |thread| puts thread.name if thread.backtrace puts thread.backtrace.join("\n") else puts "No backtrace to dump" end puts end end end |
Instance Method Details
#run ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/ductwork/processes/pipeline_advancer_runner.rb', line 26 def run adopt_or_create_process! start_pipeline_advancers Ductwork.logger.debug( msg: "Entering main work loop", role: :pipeline_advancer_runner, pipelines: klasses ) while running_context.running? # TODO: Increase or make configurable sleep(5) check_workers_health report_heartbeat! end shutdown! end |