resque-retry 1.8.0 → 1.9.0

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: e59965fb9d40a6d3f680291e5cbdec8edf04946ad50749175e984062a52e9d1c
4
- data.tar.gz: c7962de9928657b3b4b2745efbb5e403a512f44a1b0cd5db5701aee87302dffa
3
+ metadata.gz: '0970fd3a1de751413b1122777bebd85f90087a5603c0777300dd833016c33ad2'
4
+ data.tar.gz: e13c360264e4e4575ad86decd44308b68240609e2fd5647b9ea95374312560a6
5
5
  SHA512:
6
- metadata.gz: 41c214710cdfb36737e8ed9cc598f625df4020e29a056f235fd8aa636cec7f2e220f63afbfa29090b944444cee0f938b66d676b23496671b65f7f1051f08b8e4
7
- data.tar.gz: c78705b7a1a87c9b92c8eb6c9b72070dfb51f52dcab7b3cdc55e2a0a89940f34a1ef98255f11986a43011c6a56abeeee0d2f96493b41ee921ad90dab178ce76b
6
+ metadata.gz: b46ceb1bb420cc1ca9a9fe4b259ed61f15b555d27dc1886bf2eaa05545269f19338347771b1ad64ee7b28c3e2efb6610b0cba742c3a301a272e05a54bd151fbd
7
+ data.tar.gz: ca029fa9212487b7666f819fbc9085f7096b55e79286a9bc0090e4c8ae77e6da3f561f740b54092c2635f2775b499fe6798c309ef3c2d0fd5068bb1d262300f6
@@ -10,7 +10,7 @@ jobs:
10
10
  - 6379:6379
11
11
  strategy:
12
12
  matrix:
13
- ruby-version: ['3.1', '3.0', '2.7']
13
+ ruby-version: ['4.0', '3.4', '3.3', '3.2']
14
14
 
15
15
  steps:
16
16
  - uses: actions/checkout@v2
data/HISTORY.md CHANGED
@@ -1,3 +1,14 @@
1
+ # 1.9.0 (2026-01-23)
2
+
3
+ * Allow Resque 3.X versions
4
+ * Add Ruby 3.2, 3.3, 3.4, and 4.0 to the test matrix
5
+ * Remove Ruby 2.7, 3.0, and 3.1 from the test matrix (EOL)
6
+ * Update development dependencies (`minitest`, `rack-test`, `mocha`, `rake`)
7
+
8
+ # 1.8.1 (2023-06-25)
9
+
10
+ * Prevent crashing due to `nil` keys on newer _Redis_ client
11
+
1
12
  # 1.8.0 (2023-04-15)
2
13
 
3
14
  * Address `retry_key_exists?` issue that was originally reported /
@@ -49,12 +49,21 @@ module ResqueRetry
49
49
 
50
50
  # gets the number of retry attempts for a job.
51
51
  def retry_attempts_for_job(job)
52
- Resque.redis.get(retry_key_for_job(job))
52
+ retry_key = retry_key_for_job(job)
53
+ if retry_key
54
+ Resque.redis.get(retry_key)
55
+ else
56
+ nil
57
+ end
53
58
  end
54
59
 
55
60
  # gets the failure details hash for a job.
56
61
  def retry_failure_details(retry_key)
57
- Resque.decode(Resque.redis.get("failure-#{retry_key}"))
62
+ if retry_key
63
+ Resque.decode(Resque.redis.get("failure-#{retry_key}"))
64
+ else
65
+ nil
66
+ end
58
67
  end
59
68
 
60
69
  # reads a 'local' template file.
@@ -1,3 +1,3 @@
1
1
  module ResqueRetry
2
- VERSION = '1.8.0'
2
+ VERSION = '1.9.0'
3
3
  end
data/resque-retry.gemspec CHANGED
@@ -4,6 +4,8 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'resque-retry/version'
5
5
 
6
6
  Gem::Specification.new do |s|
7
+ s.required_ruby_version = '>= 3.2'
8
+
7
9
  s.name = 'resque-retry'
8
10
  s.version = ResqueRetry::VERSION
9
11
  s.date = Time.now.strftime('%Y-%m-%d')
@@ -28,14 +30,14 @@ Gem::Specification.new do |s|
28
30
  s.files = `git ls-files`.split($/)
29
31
  s.require_paths = %w[lib]
30
32
 
31
- s.add_dependency('resque', '>= 1.25', '< 3.0')
33
+ s.add_dependency('resque', '>= 1.25', '< 4.0')
32
34
  s.add_dependency('resque-scheduler', '>= 4.0', '<6.0')
33
35
 
34
- s.add_development_dependency('rake', '~> 10.3')
35
- s.add_development_dependency('minitest', '~> 5.5')
36
- s.add_development_dependency('rack-test', '~> 0.6')
36
+ s.add_development_dependency('rake', '>= 10.3', '< 14')
37
+ s.add_development_dependency('minitest', '~> 6.0')
38
+ s.add_development_dependency('rack-test', '~> 2.0')
37
39
  s.add_development_dependency('yard', '~> 0.8')
38
40
  s.add_development_dependency('json', '~> 2.0')
39
41
  s.add_development_dependency('simplecov', '~> 0.9')
40
- s.add_development_dependency('mocha', '~> 1.1')
42
+ s.add_development_dependency('mocha', '~> 3.0')
41
43
  end
data/test/resque_test.rb CHANGED
@@ -3,7 +3,7 @@ require 'test_helper'
3
3
  class ResqueTest < Minitest::Test
4
4
  def test_resque_version
5
5
  major, minor, _ = resque_version.split('.')
6
- assert [1, 2].include?(major.to_i), 'major version does not match'
6
+ assert [1, 2, 3].include?(major.to_i), 'major version does not match'
7
7
 
8
8
  if major.to_i == 1
9
9
  assert_operator minor.to_i, :>=, 25, 'minor version is too low'
@@ -19,4 +19,17 @@ class ServerHelpersTest < Minitest::Test
19
19
  job = Resque.delayed_timestamp_peek(timestamp, 0, 1).first
20
20
  assert_equal '0', @helpers.retry_attempts_for_job(job), 'should have 0 retry attempt'
21
21
  end
22
+
23
+ def test_retry_key_for_job_empty
24
+ Resque.enqueue(DelayedJobNoRetryKey)
25
+ perform_next_job(@worker)
26
+
27
+ timestamp = Resque.delayed_queue_peek(0, 1).first
28
+ job = Resque.delayed_timestamp_peek(timestamp, 0, 1).first
29
+ retry_key = @helpers.retry_key_for_job(job)
30
+
31
+ assert_nil retry_key, 'should be nil as the class does not respond to redis_retry_key'
32
+ assert_nil @helpers.retry_attempts_for_job(job), 'should have nil retry attempts as the key does not exist'
33
+ assert_nil @helpers.retry_failure_details(retry_key), 'should have nil failure details as the key does not exist'
34
+ end
22
35
  end
data/test/server_test.rb CHANGED
@@ -1,10 +1,11 @@
1
1
  require 'test_helper'
2
+ require 'rack/test'
2
3
  require 'resque-retry/server'
3
4
 
4
5
  ENV['RACK_ENV'] = ENV['RAILS_ENV']
5
6
 
6
7
  # Testing the Resque web interface additions.
7
- class ServerTest < MiniTest::Test
8
+ class ServerTest < Minitest::Test
8
9
  include Rack::Test::Methods
9
10
 
10
11
  def setup
@@ -17,6 +18,10 @@ class ServerTest < MiniTest::Test
17
18
  Resque::Server
18
19
  end
19
20
 
21
+ def default_host
22
+ 'localhost'
23
+ end
24
+
20
25
  # make sure the world looks okay first =)
21
26
  def test_were_able_to_access_normal_resque_web_overview
22
27
  get '/overview'
data/test/test_helper.rb CHANGED
@@ -16,8 +16,7 @@ require 'rubygems'
16
16
  require 'timeout'
17
17
  require 'minitest/autorun'
18
18
  require 'minitest/pride'
19
- require 'rack/test'
20
- require 'mocha/setup'
19
+ require 'mocha/minitest'
21
20
 
22
21
  require 'resque-retry'
23
22
  require dir + '/test_jobs'
data/test/test_jobs.rb CHANGED
@@ -198,6 +198,10 @@ class LimitThreeJobDelay1Hour < LimitThreeJob
198
198
  @retry_delay = 3600
199
199
  end
200
200
 
201
+ class DelayedJobNoRetryKey
202
+ @queue = :testing
203
+ end
204
+
201
205
  class FailFiveTimesJob < RetryDefaultsJob
202
206
  @queue = :testing
203
207
  @retry_limit = 6
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resque-retry
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luke Antins
8
8
  - Ryan Carver
9
9
  - Jonathan W. Zaleski
10
- autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2023-04-15 00:00:00.000000000 Z
12
+ date: 2026-01-23 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: resque
@@ -21,7 +20,7 @@ dependencies:
21
20
  version: '1.25'
22
21
  - - "<"
23
22
  - !ruby/object:Gem::Version
24
- version: '3.0'
23
+ version: '4.0'
25
24
  type: :runtime
26
25
  prerelease: false
27
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -31,7 +30,7 @@ dependencies:
31
30
  version: '1.25'
32
31
  - - "<"
33
32
  - !ruby/object:Gem::Version
34
- version: '3.0'
33
+ version: '4.0'
35
34
  - !ruby/object:Gem::Dependency
36
35
  name: resque-scheduler
37
36
  requirement: !ruby/object:Gem::Requirement
@@ -56,44 +55,50 @@ dependencies:
56
55
  name: rake
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
- - - "~>"
58
+ - - ">="
60
59
  - !ruby/object:Gem::Version
61
60
  version: '10.3'
61
+ - - "<"
62
+ - !ruby/object:Gem::Version
63
+ version: '14'
62
64
  type: :development
63
65
  prerelease: false
64
66
  version_requirements: !ruby/object:Gem::Requirement
65
67
  requirements:
66
- - - "~>"
68
+ - - ">="
67
69
  - !ruby/object:Gem::Version
68
70
  version: '10.3'
71
+ - - "<"
72
+ - !ruby/object:Gem::Version
73
+ version: '14'
69
74
  - !ruby/object:Gem::Dependency
70
75
  name: minitest
71
76
  requirement: !ruby/object:Gem::Requirement
72
77
  requirements:
73
78
  - - "~>"
74
79
  - !ruby/object:Gem::Version
75
- version: '5.5'
80
+ version: '6.0'
76
81
  type: :development
77
82
  prerelease: false
78
83
  version_requirements: !ruby/object:Gem::Requirement
79
84
  requirements:
80
85
  - - "~>"
81
86
  - !ruby/object:Gem::Version
82
- version: '5.5'
87
+ version: '6.0'
83
88
  - !ruby/object:Gem::Dependency
84
89
  name: rack-test
85
90
  requirement: !ruby/object:Gem::Requirement
86
91
  requirements:
87
92
  - - "~>"
88
93
  - !ruby/object:Gem::Version
89
- version: '0.6'
94
+ version: '2.0'
90
95
  type: :development
91
96
  prerelease: false
92
97
  version_requirements: !ruby/object:Gem::Requirement
93
98
  requirements:
94
99
  - - "~>"
95
100
  - !ruby/object:Gem::Version
96
- version: '0.6'
101
+ version: '2.0'
97
102
  - !ruby/object:Gem::Dependency
98
103
  name: yard
99
104
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +147,14 @@ dependencies:
142
147
  requirements:
143
148
  - - "~>"
144
149
  - !ruby/object:Gem::Version
145
- version: '1.1'
150
+ version: '3.0'
146
151
  type: :development
147
152
  prerelease: false
148
153
  version_requirements: !ruby/object:Gem::Requirement
149
154
  requirements:
150
155
  - - "~>"
151
156
  - !ruby/object:Gem::Version
152
- version: '1.1'
157
+ version: '3.0'
153
158
  description: |2
154
159
  resque-retry provides retry, delay and exponential backoff support for
155
160
  resque jobs.
@@ -214,7 +219,6 @@ homepage: http://github.com/lantins/resque-retry
214
219
  licenses:
215
220
  - MIT
216
221
  metadata: {}
217
- post_install_message:
218
222
  rdoc_options: []
219
223
  require_paths:
220
224
  - lib
@@ -222,15 +226,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
222
226
  requirements:
223
227
  - - ">="
224
228
  - !ruby/object:Gem::Version
225
- version: '0'
229
+ version: '3.2'
226
230
  required_rubygems_version: !ruby/object:Gem::Requirement
227
231
  requirements:
228
232
  - - ">="
229
233
  - !ruby/object:Gem::Version
230
234
  version: '0'
231
235
  requirements: []
232
- rubygems_version: 3.3.7
233
- signing_key:
236
+ rubygems_version: 3.6.9
234
237
  specification_version: 4
235
238
  summary: A resque plugin; provides retry, delay and exponential backoff support for
236
239
  resque jobs.