lambdakiq 2.0.1 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 907b219d7a132815c0f656a7e69296aba6556b15d1c8f031afcdebebca42bb96
4
- data.tar.gz: cd7480cb9e54c0037674d7335a669d443954f8812686beeee7dcaa9e17efb43e
3
+ metadata.gz: d6c7543a7f0f98a903e576b54cf791eb6efa83336b97a056bc4cce771634b04b
4
+ data.tar.gz: e03956eb1543b0c5f5576aee3dd007e62567be052059aa166e5c28efdefdd5af
5
5
  SHA512:
6
- metadata.gz: 33766b628c71b3c6803b9884cf44a1ec18655b04d1bccd3a8641c37bde5c29b8464b47822b6e10be6d67739e71abd53d9891c5cefbefd53988418eed39b66be6
7
- data.tar.gz: e69cc722782cfb724c8265dce20c2c57db42cecf54747620dae54ee3856d203dbd51ccc13a27d52705f9dfc52e134501f6192be69ce6bb26c508332966f4110a
6
+ metadata.gz: 20af5bc0de3846af919e8593187b180c78f3a04a953983529e0f0bdb73d6adb411e43d1e06c87bc31777f53e513cb2812ea703522a21fefc87a81cf46bd1c5ce
7
+ data.tar.gz: 978de57e0ec0c92019b1e5ff2946eb9447e2182886d61e68392ce999162317281ad96c58c216e4f00f4b23e77fb5dea16b3f5259ed95c66f1b498c27008f72e9
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  See this http://keepachangelog.com link for information on how we want this documented formatted.
4
4
 
5
+ ## v2.1.0
6
+
7
+ #### Fixed
8
+
9
+ - Ensure failed messages go to DLQ. Fixes #30. Fixes #31. Thanks @thenano
10
+
11
+ ## v2.0.2
12
+
13
+ #### Fixed
14
+
15
+ - Rails 5.1 oddities for class attribute default not set.
16
+
5
17
  ## v2.0.1
6
18
 
7
19
  #### Fixed
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lambdakiq (2.0.1)
4
+ lambdakiq (2.1.0)
5
5
  activejob
6
6
  aws-sdk-sqs
7
7
  concurrent-ruby
@@ -3,8 +3,8 @@ module Lambdakiq
3
3
 
4
4
  class_attribute :default_options,
5
5
  instance_writer: false,
6
- instance_predicate: false,
7
- default: Hash.new
6
+ instance_predicate: false
7
+ self.default_options = Hash.new
8
8
 
9
9
  attr_reader :queues
10
10
 
data/lib/lambdakiq/job.rb CHANGED
@@ -72,7 +72,11 @@ module Lambdakiq
72
72
  @error = e
73
73
  else
74
74
  instrument :retry_stopped, error: e
75
- delete_message
75
+ if should_redrive?
76
+ @error = e
77
+ else
78
+ delete_message
79
+ end
76
80
  end
77
81
  end
78
82
 
@@ -97,10 +101,16 @@ module Lambdakiq
97
101
  executions > retry_limit
98
102
  end
99
103
 
104
+ def job_retry
105
+ [active_job.lambdakiq_retry, Lambdakiq.config.max_retries, 12].compact.min
106
+ end
107
+
100
108
  def retry_limit
101
- config_retry = [Lambdakiq.config.max_retries, 12].min
102
- [ (active_job.lambdakiq_retry || config_retry),
103
- (queue.max_receive_count - 1) ].min
109
+ [job_retry, (queue.max_receive_count - 1)].min
110
+ end
111
+
112
+ def should_redrive?
113
+ !queue.redrive_policy.nil? && job_retry >= queue.max_receive_count
104
114
  end
105
115
 
106
116
  def fifo_delay?
@@ -22,11 +22,11 @@ module Lambdakiq
22
22
  end
23
23
 
24
24
  def redrive_policy
25
- @redrive_policy ||= JSON.parse(attributes['RedrivePolicy'])
25
+ @redrive_policy ||= attributes['RedrivePolicy'] ? JSON.parse(attributes['RedrivePolicy']) : nil
26
26
  end
27
27
 
28
28
  def max_receive_count
29
- redrive_policy['maxReceiveCount'].to_i
29
+ redrive_policy&.dig('maxReceiveCount')&.to_i || 1
30
30
  end
31
31
 
32
32
  def fifo?
@@ -1,3 +1,3 @@
1
1
  module Lambdakiq
2
- VERSION = '2.0.1'
2
+ VERSION = '2.1.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lambdakiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Collins
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-08-02 00:00:00.000000000 Z
11
+ date: 2022-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob