class Jobi::Consumers::Rabbitmq

Public Class Methods

new(queue:, ack:) click to toggle source
# File lib/jobi/consumers/rabbitmq.rb, line 7
def initialize(queue:, ack:)
  @queue = queue
  @ack = ack
end

Public Instance Methods

consume!() click to toggle source
# File lib/jobi/consumers/rabbitmq.rb, line 12
def consume!
  @queue.subscribe(manual_ack: @ack) do |delivery_info, metadata, payload|
    Jobi::Runner.new(payload: payload).run
    acknowledge!(delivery_info.delivery_tag) if @ack
  end
end

Private Instance Methods

acknowledge!(delivery_tag) click to toggle source
# File lib/jobi/consumers/rabbitmq.rb, line 21
def acknowledge!(delivery_tag)
  @queue.channel.acknowledge(delivery_tag, false)
end