Module: Kuroko2::Workflow::Processor
- Defined in:
- lib/autoload/kuroko2/workflow/processor.rb
Instance Method Summary collapse
Instance Method Details
#initialize ⇒ Object
4 5 6 7 8 9 10 11 |
# File 'lib/autoload/kuroko2/workflow/processor.rb', line 4 def initialize @hostname = Socket.gethostname @stop = ServerEngine::BlockingFlag.new @processing = ServerEngine::BlockingFlag.new @workflow = Workflow::Engine.new end |
#run ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/autoload/kuroko2/workflow/processor.rb', line 13 def run Kuroko2.logger = logger Kuroko2.logger.info "[#{@hostname}-#{worker_id}] Start Workflow::Processor" until @stop.wait(1.0) unless @processing.set? begin @processing.set! @workflow.process_all @processing.reset! end end end rescue Exception => e Kuroko2.logger.fatal("[#{@hostname}-#{worker_id}] #{e.class}: #{e.message}\n" + e.backtrace.map { |trace| " #{trace}" }.join("\n")) raise e end |
#stop ⇒ Object
33 34 35 36 37 |
# File 'lib/autoload/kuroko2/workflow/processor.rb', line 33 def stop Kuroko2.logger.info "[#{@hostname}-#{worker_id}] Stop Workflow::Processor" @stop.set! end |