rabbitek 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78ba89a7e1863c0c5db9b8abb89b59d145075c3250fbf4bb679e854e8f62a181
4
- data.tar.gz: c3ecf9feae5fd64141d354a622db4946286297113db75c3fbfa5eef242bd3116
3
+ metadata.gz: 421ab505ea00034e0f6776b74a41e73544c51638749c4a25958e6cc88ce265d2
4
+ data.tar.gz: 3de4c37cf538dd5deaea47f809cb086971721a56f0dd19e7b9215bb9d62637ee
5
5
  SHA512:
6
- metadata.gz: '0311083dcdd6d29b9f6635fd3d8c11ab09b0a6237c76400a12c4856794412069901be0e80f058de46b094b50b0fccd3c77f67d570d91a27c632fca07335788df'
7
- data.tar.gz: 411bdd19f9822adbca577ce86d13e47fbc7b0f0b615de0cd8aa0a42a46b2d6aeb7e88ba7955614749aa8d686975b5bf034d83103760455e6a5c35744a905561c
6
+ metadata.gz: 8c27d7fbc91597ecab67dcd32b4885f47dd2fbca1a445407d45874d0ccbf51766b32dc0ae75a846fab5ac1fa9d116287ab1c46c9dd534852020a6a9137a553ba
7
+ data.tar.gz: 69619c60b63e125d67125e45ef4ad4215bc19965cdfdb08fd9bc263ed49d6a87fdc88596ab881a0beb33526d1fba8d7b2d76ebe673e577a75b159ed6be6207c5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## v0.3.3
2
+
3
+ Improvements:
4
+ * Failure in retry hook will result in additional logging and nacking job with requeue: true
5
+
1
6
  ## v0.3.2
2
7
 
3
8
  ## v0.3.1
@@ -21,6 +21,10 @@ module Rabbitek
21
21
  channel.ack(delivery_info.delivery_tag, multiple)
22
22
  end
23
23
 
24
+ def nack!(delivery_info, multiple = false, requeue = true)
25
+ channel.nack(delivery_info.delivery_tag, multiple, requeue)
26
+ end
27
+
24
28
  def logger
25
29
  Rabbitek.logger
26
30
  end
@@ -8,12 +8,23 @@ module Rabbitek
8
8
  ##
9
9
  # Hook to retry failed jobs
10
10
  class Retry < Rabbitek::ServerHook
11
+ include Loggable
12
+
11
13
  def call(consumer, message)
12
14
  super
13
15
  rescue StandardError
14
- Retryer.call(consumer, message) unless consumer.batch_size
16
+ retry_message(consumer, message) unless consumer.batch_size
15
17
  raise
16
18
  end
19
+
20
+ private
21
+
22
+ def retry_message(consumer, message)
23
+ Retryer.call(consumer, message)
24
+ rescue StandardError => e
25
+ error(msg: 'Critical error while retrying. Nacking message', error: e.to_s)
26
+ consumer.nack!(message.delivery_info)
27
+ end
17
28
  end
18
29
  end
19
30
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rabbitek
4
- VERSION = '0.3.2'
4
+ VERSION = '0.3.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rabbitek
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Boostcom
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-14 00:00:00.000000000 Z
11
+ date: 2020-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport