resque-retry 1.7.1 → 1.7.2

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: 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