class PikaQue::Runner

Public Instance Methods

add_processor(opts = {}) click to toggle source
# File lib/pika_que/runner.rb, line 38
def add_processor(opts = {})
  classified_workers = { :workers => PikaQue::Util.worker_classes(opts[:workers]) }
  processors << processor(opts.merge(classified_workers))
end
config() click to toggle source
# File lib/pika_que/runner.rb, line 47
def config
  PikaQue.config
end
processor(opts = {}) click to toggle source
# File lib/pika_que/runner.rb, line 31
def processor(opts = {})
  {
    :processor        => PikaQue::Processor,
    :workers          => []
  }.merge(opts)
end
processors() click to toggle source
# File lib/pika_que/runner.rb, line 43
def processors
  @processors ||= []
end
run() click to toggle source
# File lib/pika_que/runner.rb, line 4
def run
  # TODO anything to add to run_config?
  run_config = {}

  @processes = []
  processors.each do |processor_hash|
    _processor = PikaQue::Util.constantize(processor_hash[:processor]).new(processor_hash.merge(run_config))
    _processor.start
    @processes << _processor
  end
end
setup_processors() click to toggle source
# File lib/pika_que/runner.rb, line 22
def setup_processors
  add_processor(config[:delay_options]) if config[:delay]
  if config[:workers]
    add_processor({ workers: config[:workers] })
  else
    config[:processors].each{ |p| add_processor(p) }
  end
end
stop() click to toggle source

halt? pause?

# File lib/pika_que/runner.rb, line 17
def stop
  @processes.each(&:stop)
  PikaQue.connection.disconnect!
end