class Superbolt::Runner::Default

Public Instance Methods

ack() click to toggle source
# File lib/superbolt/runner/default.rb, line 27
def ack
end
prefetch() click to toggle source
# File lib/superbolt/runner/default.rb, line 30
def prefetch
end
processor_class() click to toggle source
# File lib/superbolt/runner/default.rb, line 33
def processor_class
  Superbolt::Processor
end
run() click to toggle source
# File lib/superbolt/runner/default.rb, line 4
def run
  set_prefetch
  subscribe
end
set_prefetch() click to toggle source
# File lib/superbolt/runner/default.rb, line 9
def set_prefetch
  channel.prefetch(prefetch) if prefetch
end
subscribe() click to toggle source
# File lib/superbolt/runner/default.rb, line 13
def subscribe
  queue.subscribe(ack: ack, block: true) do |delivery_info, metadata, payload|
    message = Superbolt::IncomingMessage.new(delivery_info, payload, channel)
    processor = processor_class.new(message, logger, &block)
    success = processor.perform

    unless success
      on_error(message.parse, processor.exception)
    end

    message.ack if ack
  end
end