lib/bbk/amqp/utils.rb in bbk-amqp-1.0.0.105722 vs lib/bbk/amqp/utils.rb in bbk-amqp-1.0.0.105723
- old
+ new
@@ -14,9 +14,11 @@
# @return [Array] array with delivery_info, metadata and payload
def self.pop(queue, timeout = 10)
unblocker = Queue.new
consumed = false
mx = Mutex.new
+ # Если сообщений несколько то порядок может поменяться и это нужно иметь в виду.
+ # Решить можно создав, отдельный канал с qos 1.
consumer = queue.subscribe(block: false, manual_ack: true) do |delivery_info, metadata, payload|
mx.synchronize do
if consumed
queue.channel.nack(delivery_info.delivery_tag, false, true)
break