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