module Vx::Consumer::Ack

Public Instance Methods

ack(multiple = false) click to toggle source
# File lib/vx/consumer/ack.rb, line 5
def ack(multiple = false)
  instrumentation = {
    consumer:      self.class.params.consumer_name,
    properties:    properties,
    multiple:      multiple,
    channel:       _channel.id
  }
  if _channel.open?
    _channel.ack delivery_info.delivery_tag, multiple
    instrument("ack", instrumentation)
    true
  else
    instrument("ack_failed", instrumentation)
    false
  end
end
nack(multiple = false, requeue = false) click to toggle source
# File lib/vx/consumer/ack.rb, line 22
def nack(multiple = false, requeue = false)
  instrumentation = {
    consumer:      self.class.params.consumer_name,
    properties:    properties,
    multiple:      multiple,
    requeue:       requeue,
    channel:       channel.id
  }
  if _channel.open?
    _channel.ack delivery_info.delivery_tag, multiple, requeue
    instrument("nack", instrumentation)
    true
  else
    instrument("nack_failed", instrumentation)
    false
  end
end