Module: Vx::Consumer::Ack

Defined in:
lib/vx/consumer/ack.rb

Instance Method Summary collapse

Instance Method Details

#ack(multiple = false) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 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) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 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