class Beez::Supervisor
Public Class Methods
new()
click to toggle source
# File lib/beez/supervisor.rb, line 6 def initialize @processors = [] end
Public Instance Methods
quiet()
click to toggle source
# File lib/beez/supervisor.rb, line 17 def quiet logger.info "Terminating workers" @processors.each(&:stop) end
start()
click to toggle source
# File lib/beez/supervisor.rb, line 10 def start @processors = workers.map do |worker_class| processor = ::Beez::Processor.new(worker_class: worker_class) processor.start end end
stop(timeout: ::Beez.config.timeout)
click to toggle source
# File lib/beez/supervisor.rb, line 22 def stop(timeout: ::Beez.config.timeout) quiet logger.info "Pausing #{timeout}s to allow workers to finish..." sleep timeout end
Private Instance Methods
logger()
click to toggle source
# File lib/beez/supervisor.rb, line 34 def logger ::Beez.logger end
workers()
click to toggle source
# File lib/beez/supervisor.rb, line 30 def workers ::Beez.workers.to_a end