resque-retry 1.7.1 → 1.7.2

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: a25bee5749bed00ecedbe4e671973adaedb833864efd07cdfaa0050c9c1af042
4
- data.tar.gz: c39a7fc54e5b203612548a7f95dce2fcca70d69a6c9338fbd926d4090d2952db
3
+ metadata.gz: 755ea6078469205b32e916d32d7dbb57a668e409d559b32ec7a5b21560a515c8
4
+ data.tar.gz: 98e9eb8627d4641771f66e8811d29bfc2e1baab52b5a38809bb4a0005e465480
5
5
  SHA512:
6
- metadata.gz: 4b65fc789f26a14fabbade5a6cd15e3d6d0ca7ac5aac93d314a12bcbf15e6c3d8d89522c0baa58fdb9f9b22bb49cb5fc9f2abb628ff8ef0fd704439b1a08ac5d
7
- data.tar.gz: 7fbc42c237c1bc8c620c6964ff7cb9579996e59cbecdfe6d37bfc58530da0460f633f0985074a9b77c42c3536b375c6a4daf619cc671a2b253e29fccafa762e9
6
+ metadata.gz: 475ca16f0d0814aa68ca14ff1ba2ec30c037526b69432052e8b88940e26964cb6e25ce71282a8161796d91ccae1ebfff23b43956485f5ae6b820e83aa00bb06b
7
+ data.tar.gz: 1d6870270be5df0c1a9820879ebfef192bbaa2a7cbe16199e5c8c319bd8b5f7a5a2207105646ebc0a3a99221a1defeab520727053649cfa310025caadc7d1520
data/HISTORY.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 1.7.2 (2019-11-21)
2
+
3
+ * Address part 2 of issue #158
4
+
1
5
  # 1.7.1 (2019-07-10)
2
6
 
3
7
  * Prevent `NoMethodError` when calculating `retry_delay`
@@ -1,3 +1,3 @@
1
1
  module ResqueRetry
2
- VERSION = '1.7.1'
2
+ VERSION = '1.7.2'
3
3
  end
@@ -456,7 +456,8 @@ module Resque
456
456
  # set/update the "retry_key" expiration
457
457
  if expire_retry_key_after
458
458
  log_message "updating expiration for retry key: #{retry_key}", args
459
- Resque.redis.expire(retry_key, retry_delay + expire_retry_key_after)
459
+ exception_class = Object.const_get(args[0]) rescue nil
460
+ Resque.redis.expire(retry_key, retry_delay(exception_class) + expire_retry_key_after)
460
461
  end
461
462
  end
462
463
 
@@ -287,6 +287,12 @@ class RetryTest < Minitest::Test
287
287
  perform_next_job(@worker)
288
288
  end
289
289
 
290
+ def test_expire_key_set_with_retry_exceptions
291
+ Resque.redis.expects(:expire).once.with(ExpiringJobWithRetryExceptions.redis_retry_key(StandardError), 17)
292
+ Resque.enqueue(ExpiringJobWithRetryExceptions, StandardError)
293
+ perform_next_job(@worker)
294
+ end
295
+
290
296
  def test_expire_key_setting_on_the_fly
291
297
  retry_key = 'resque-retry:FailFiveTimesWithCustomExpiryJob'
292
298
 
@@ -7,7 +7,7 @@ class NoRetryJob
7
7
  @queue = :testing
8
8
 
9
9
  def self.perform(*args)
10
- raise "error"
10
+ raise 'error'
11
11
  end
12
12
  end
13
13
 
@@ -28,6 +28,17 @@ class ExpiringJob
28
28
  end
29
29
  end
30
30
 
31
+ class ExpiringJobWithRetryExceptions
32
+ extend Resque::Plugins::Retry
33
+
34
+ @queue = :testing
35
+ @expire_retry_key_after = 10
36
+ @retry_exceptions = { StandardError => 7 }
37
+
38
+ def self.perform(*args)
39
+ end
40
+ end
41
+
31
42
  class RetryDefaultSettingsJob
32
43
  extend Resque::Plugins::Retry
33
44
  @queue = :testing
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resque-retry
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.1
4
+ version: 1.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luke Antins
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-07-10 00:00:00.000000000 Z
13
+ date: 2019-11-21 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: resque
@@ -223,7 +223,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
223
223
  - !ruby/object:Gem::Version
224
224
  version: '0'
225
225
  requirements: []
226
- rubygems_version: 3.0.4
226
+ rubygems_version: 3.0.6
227
227
  signing_key:
228
228
  specification_version: 4
229
229
  summary: A resque plugin; provides retry, delay and exponential backoff support for