bbk-amqp 1.0.0.105635 → 1.0.0.105722

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/bbk/amqp/utils.rb +18 -9
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c811344d310285b4a69c8b17bb80a0052fc7b263822d870feb9247dfea817f51
4
- data.tar.gz: 3e43954cb05ea14a49f34ff24efedacf10c7be5f578634c7172c5c2f513e95a8
3
+ metadata.gz: c548372181f2dd8188ed0aee86a514a0cf9d2d533d534211cd00d3e2137f1945
4
+ data.tar.gz: 2afa60b894ff011b639ea8f1a9de931570feb4bbe2ddd6c2061474ac3d01f0a9
5
5
  SHA512:
6
- metadata.gz: fa9a1ef97bdf617db36bcc87ae0a60ab235f1872187906ac2b3b566683c47980e64fc00a3134230bc396cc775f505d69727cd8d0944e36566f2fdc931df5a165
7
- data.tar.gz: 8805a42fefe4803447b7bc786a1a965b1877e2912b294430d39dce39610453272f58708f83c0674856b7e1343e4be070fb372b4e955f12eab1bb3921bb3c16bb
6
+ metadata.gz: 06be7f99a98d9a80a0414c2bc96ec4990fd6c50177ff89c8e8462b20a00e445449532008c70873e23f9b26102655858d0f35b80c1e9fbb89c4729ab1281cda56
7
+ data.tar.gz: 1a9d618b0561e1fba5da9d23ad5c5000b2e66ef4e8a23657447968f74762539f249b98aecd307fd53fb2491d8adbeb1a10fdce2fca2d752ffe312cc76c7d1db0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bbk-amqp (1.0.0.105635)
4
+ bbk-amqp (1.0.0.105722)
5
5
  activesupport (>= 6.0)
6
6
  bbk-utils (> 1.0.1)
7
7
  bunny (>= 2.19.0)
@@ -14,17 +14,26 @@ module BBK
14
14
  # @return [Array] array with delivery_info, metadata and payload
15
15
  def self.pop(queue, timeout = 10)
16
16
  unblocker = Queue.new
17
+ consumed = false
18
+ mx = Mutex.new
17
19
  consumer = queue.subscribe(block: false, manual_ack: true) do |delivery_info, metadata, payload|
18
- message = [
19
- delivery_info,
20
- metadata.to_hash.with_indifferent_access,
21
- begin
22
- Oj.load(payload).with_indifferent_access
23
- rescue StandardError
24
- payload
20
+ mx.synchronize do
21
+ if consumed
22
+ queue.channel.nack(delivery_info.delivery_tag, false, true)
23
+ break
25
24
  end
26
- ]
27
- unblocker << message
25
+ consumed = true
26
+ message = [
27
+ delivery_info,
28
+ metadata.to_hash.with_indifferent_access,
29
+ begin
30
+ Oj.load(payload).with_indifferent_access
31
+ rescue StandardError
32
+ payload
33
+ end
34
+ ]
35
+ unblocker << message
36
+ end
28
37
  end
29
38
  Thread.new do
30
39
  sleep timeout
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bbk-amqp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.105635
4
+ version: 1.0.0.105722
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samoylenko Yuri