resque-retry 1.6.0 → 1.7.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: 18f7b00c3922adebe816efc0357bfba5925dddc5ae85bea9d4b69e0a05e9fb46
4
- data.tar.gz: dd4d14d570a628aa667445cd4f64929ecc0bcab22bc536b164bc9e9437574a59
3
+ metadata.gz: 4acedc3a5e5a68e8a87eff5c05d02db56d2230393bc9950af0d60eb0489718bd
4
+ data.tar.gz: 5766a03c06859e1b4c36d5b34c4f8f746c38063f946b99633c9481cc92c52b6f
5
5
  SHA512:
6
- metadata.gz: ffab51ba83437149d5bc39400983e436a38cd4e2d200b7562fa892f16f6facf1310a0dcf666030d8181aec5424dbcd80c146983ce25b3579f7e9a4088692dc8f
7
- data.tar.gz: dcef4495dfc111270f16bb02dafa72d1fb66caebe4302dbb0359aad2dcaf72f29c887cc7e0caa22c3ef012aba5813933fb19c1c210b597bea17b6ab4ab561ff6
6
+ metadata.gz: ecc9d3abda29d488eeb08b779ec2211dca31965023f0cdc8d69b60c57dfd223b68d7a4fc6d6a650cb55471a16b41c82d69d357264e07cd142c26bd8f3a91d82b
7
+ data.tar.gz: 480e49d4b4bfd340cce9e5551f839ea68d38953ce85fd57418b008f227cf23b8692b0ed54466df1603b19e9e8750326f39ddab4dd09b39760a05293df749ba94
data/HISTORY.md CHANGED
@@ -1,11 +1,24 @@
1
+ # 1.7.0 (2019-06-15)
2
+
3
+ !!! [Potential] breaking changes -- details below !!!
4
+
5
+ * Remove support for `args_for_retry` -- it has been deprecated for almost 5
6
+ years
7
+ * Work w/ shallow-clone(s) of `args` in `MultipleWithRetrySuppression#save` and
8
+ `Retry.retry_args`
9
+ * Remove deprecated options from `Gem::Specification`
10
+ * Clean-up formatting in HISTORY.md
11
+
1
12
  # 1.6.0 (2019-04-21)
2
13
 
3
- * Clean-up / refactoring in preparation for a release (`ruby` deprecations, etc.)
14
+ * Clean-up / refactoring in preparation for a release (`ruby` deprecations,
15
+ etc.)
4
16
  * Loosen version requirement to allow resque v2.0 and up (@peret)
5
17
 
6
18
  # 1.5.3 (2018-11-26)
7
19
 
8
- * Monkey patch in the `requeue_queue` method onto the `Resque::Failure` backend (this _should_ be a temporary fix)
20
+ * Monkey patch in the `requeue_queue` method onto the `Resque::Failure` backend
21
+ (this _should_ be a temporary fix)
9
22
 
10
23
  # 1.5.2 (2018-07-16)
11
24
 
@@ -14,11 +27,15 @@
14
27
 
15
28
  # 1.5.1 (2018-01-07)
16
29
 
17
- * Added build support for `ruby-2.2.x`, `ruby-2.3.x`, `ruby-2.4.x` and `ruby-2.5.x`
18
- * Dropped build support for `ruby-1.9.3` and `ruby-2.0.0` (these versions are no unsupported)
30
+ * Added build support for `ruby-2.2.x`, `ruby-2.3.x`, `ruby-2.4.x` and
31
+ `ruby-2.5.x`
32
+ * Dropped build support for `ruby-1.9.3` and `ruby-2.0.0` (these versions are
33
+ no unsupported)
19
34
  * Fix some deprecation warnings in tests
20
- * Feature: If no exact exception class is present in `@retry_exceptions` hash, try to find closest superclass (@fanfilmu)
21
- * Feature: When running Resque inline, explicitly don't try to retry, don't touch Redis (@michaelglass)
35
+ * Feature: If no exact exception class is present in `@retry_exceptions` hash,
36
+ try to find closest superclass (@fanfilmu)
37
+ * Feature: When running Resque inline, explicitly don't try to retry, don't
38
+ touch Redis (@michaelglass)
22
39
 
23
40
  # 1.5.0 (2015-10-24)
24
41
 
@@ -40,25 +57,35 @@
40
57
  ## 1.3.0 (2014-07-25)
41
58
 
42
59
  * Adjust gem dependency on `resque-scheduler` to ~> 3.0
43
- * Deprecated: `args_for_retry` in favor of `retry_args` (will output deprecation warnings if your using the older method).
44
- * Feature: Allow changing the args for a given exception using `retry_args_for_exception` (@jonp)
60
+ * Deprecated: `args_for_retry` in favor of `retry_args` (will output deprecation
61
+ warnings if your using the older method).
62
+ * Feature: Allow changing the args for a given exception using
63
+ `retry_args_for_exception` (@jonp)
45
64
  * Feature: Allow setting `@expire_retry_key_after` on the fly (@orenmazor)
46
65
 
47
66
  ## 1.2.1 (2014-06-09)
48
67
 
49
- * Fixed Kernel.rand: "invalid argument - 0.0 (ArgumentError)" error with "ExponentialBackoff" (on "Rubinius") when `retry_delay_multiplicand_min` and `retry_delay_multiplicand_max` were the same value (@saizai)
68
+ * Fixed Kernel.rand: "invalid argument - 0.0 (ArgumentError)" error with
69
+ "ExponentialBackoff" (on "Rubinius") when `retry_delay_multiplicand_min` and
70
+ `retry_delay_multiplicand_max` were the same value (@saizai)
50
71
 
51
72
  ## 1.2.0 (2014-05-19)
52
73
 
53
- * Fixed scenario where job does not get retried correctly when `perform` is not called as expected.
54
- * Feature: Optional `@expire_retry_key_after` settings; expires retry counters from redis to save you cleaning up stale state.
55
- * Feature: Expose inner-workings of plugin through debug messages using `Resque.logger` (when logging level is Logger:DEBUG).
74
+ * Fixed scenario where job does not get retried correctly when `perform` is not
75
+ called as expected.
76
+ * Feature: Optional `@expire_retry_key_after` settings; expires retry counters
77
+ from redis to save you cleaning up stale state.
78
+ * Feature: Expose inner-workings of plugin through debug messages using
79
+ `Resque.logger` (when logging level is Logger:DEBUG).
56
80
 
57
81
  ## 1.1.4 (2014-03-17)
58
82
 
59
- * Fixed displaying retry information in resque web interface, caused by `Resque::Helpers` being deprecated.
60
- * Feature: Allow `@fatal_exceptions` as inverse of `@retry_exceptions`, when fatal exception is raised the job will be immediately fail.
61
- * Feature: Allow a random retry delay (within a range) when using exponential backoff strategy.
83
+ * Fixed displaying retry information in resque web interface, caused by
84
+ `Resque::Helpers` being deprecated.
85
+ * Feature: Allow `@fatal_exceptions` as inverse of `@retry_exceptions`, when
86
+ a fatal exception is raised the job will be immediately fail.
87
+ * Feature: Allow a random retry delay (within a range) when using exponential
88
+ backoff strategy.
62
89
 
63
90
  ## 1.1.1 (2014-03-12)
64
91
 
@@ -67,7 +94,8 @@
67
94
  ## 1.1.0 (2014-03-12)
68
95
 
69
96
  * Remove dependence on `Resque::Helpers`, will be removed in Resque 2.0
70
- * Use SHA1 for default `#retry_identifier` to prevents issues with long args gobbling space.
97
+ * Use SHA1 for default `#retry_identifier` to prevents issues with long args
98
+ gobbling space.
71
99
  * Minimum version of Resque is now ~> 1.25
72
100
 
73
101
  ## 1.0.0 (2012-09-07)
@@ -75,12 +103,16 @@
75
103
  ** !!! WARNING !!! INCLUDES NON-BACKWARDS COMPATIBLE CHANGES **
76
104
 
77
105
  * Fixed issues related to infinite job retries and v1.20.0 of resque.
78
- * Minimum gem dependency versions changed: resque >= 1.10.0, resque-scheduler >= 1.9.9
79
- * Feature: Setting `@retry_job_delegate` allows you to separate the original job from a the retry job. (@tanob/@jniesen)
80
- * Web interface will work without needing to `require` your job code. (n.b. less details available via web).
106
+ * Minimum gem dependency versions changed: resque >= 1.10.0, resque-scheduler
107
+ >= 1.9.9
108
+ * Feature: Setting `@retry_job_delegate` allows you to separate the original job
109
+ from a the retry job. (@tanob/@jniesen)
110
+ * Web interface will work without needing to `require` your job code. (n.b.
111
+ less details available via web).
81
112
  * IMPORTANT: `#identifier` method has been namespaced to `#retry_identifier`.
82
113
  * Bugfix: `Remove` button on retry web interface was not working.
83
- * Feature: Allow `tagging` exceptions with a module instead of an exception class. (@tils - Tilmann Singer)
114
+ * Feature: Allow `tagging` exceptions with a module instead of an exception
115
+ class. (@tils - Tilmann Singer)
84
116
 
85
117
  ## 0.2.2 (2011-12-08)
86
118
 
@@ -88,7 +120,8 @@
88
120
 
89
121
  ## 0.2.1 (2011-11-23)
90
122
 
91
- * Bugfix: Fixed error when we tried to parse a number/string as JSON on the reque-retry web interface.
123
+ * Bugfix: Fixed error when we tried to parse a number/string as JSON on the
124
+ reque-retry web interface.
92
125
 
93
126
  ## 0.2.0 (2011-11-22)
94
127
 
@@ -98,9 +131,10 @@
98
131
  PREVIOUSLY: 0 == infinite retries.
99
132
  NOW: -1 == infinite retries; 0 == means never retry.
100
133
 
101
- * Bugfix: `#redis_retry_key` incorrectly built key when custom identifier was used. (Bogdan Gusiev)
134
+ * Bugfix: `#redis_retry_key` incorrectly built key when custom identifier was
135
+ used. (Bogdan Gusiev)
102
136
  * Feature: Ability to sleep worker after re-queuing a job, may be used to bias
103
- against the same worker from picking up the job again. (Michael Keirnan)
137
+ against the same worker from picking up the job again. (Michael Keirnan)
104
138
  * Feature: Ability to remove retry jobs using resque-web. (Thiago Morello)
105
139
  * Added example demo application.
106
140
  * Added Bundler `Gemfile`.
@@ -130,7 +164,8 @@
130
164
  ## 0.0.2 (2010-05-06)
131
165
 
132
166
  * Bugfix: Were calling non-existent method to delete redis key.
133
- * Delay no-longer falls back to `sleep`. resque-scheduler is a required dependancy.
167
+ * Delay no-longer falls back to `sleep`. resque-scheduler is a required
168
+ dependancy.
134
169
  * Redis key doesn't include ending colon `:` if no args were passed to the job.
135
170
 
136
171
  ## 0.0.1 (2010-04-27)
@@ -1,3 +1,3 @@
1
1
  module ResqueRetry
2
- VERSION = '1.6.0'
2
+ VERSION = '1.7.0'
3
3
  end
@@ -27,7 +27,9 @@ module Resque
27
27
  #
28
28
  # @api private
29
29
  def save
30
- log_message 'failure backend save', args_from(payload), exception
30
+ args = args_from(payload)
31
+
32
+ log_message 'failure backend save', args, exception
31
33
 
32
34
  retryable = retryable?
33
35
  job_being_retried = retryable && retrying?
@@ -35,7 +37,7 @@ module Resque
35
37
  if !job_being_retried
36
38
  log_message(
37
39
  "#{retryable ? '' : 'non-'}retryable job is not being retried - sending failure to superclass",
38
- args_from(payload),
40
+ args,
39
41
  exception
40
42
  )
41
43
 
@@ -44,7 +46,7 @@ module Resque
44
46
  elsif retry_delay > 0
45
47
  log_message(
46
48
  "retry_delay: #{retry_delay} > 0 - saving details in Redis",
47
- args_from(payload),
49
+ args,
48
50
  exception
49
51
  )
50
52
 
@@ -67,7 +69,7 @@ module Resque
67
69
  else
68
70
  log_message(
69
71
  "retry_delay: #{retry_delay} <= 0 - ignoring",
70
- args_from(payload),
72
+ args,
71
73
  exception
72
74
  )
73
75
  end
@@ -100,7 +102,7 @@ module Resque
100
102
  protected
101
103
 
102
104
  def args_from(payload)
103
- (payload || {})['args']
105
+ (payload || {})['args'].dup
104
106
  end
105
107
 
106
108
  def cleanup_retry_failure_log!
@@ -186,15 +186,7 @@ module Resque
186
186
  #
187
187
  # @api public
188
188
  def retry_args(*args)
189
- # Here for backwards compatibility. If an "args_for_retry" method exists
190
- # invoke it, but warn that it is deprecated (and will be removed in a
191
- # future revision)
192
- if respond_to?(:args_for_retry)
193
- warn "`Resque::Plugins::Retry#args_for_retry` is deprecated, please use `Resque::Plugins::Retry#retry_args` instead."
194
- args_for_retry(*args)
195
- else
196
- args
197
- end
189
+ args.dup
198
190
  end
199
191
 
200
192
  # @abstract
@@ -25,7 +25,6 @@ Gem::Specification.new do |s|
25
25
  s.homepage = 'http://github.com/lantins/resque-retry'
26
26
  s.license = 'MIT'
27
27
 
28
- s.has_rdoc = false
29
28
  s.files = `git ls-files`.split($/)
30
29
  s.require_paths = %w[lib]
31
30
 
@@ -55,13 +55,6 @@ class RetryTest < Minitest::Test
55
55
  assert_equal test_args, job['args']
56
56
  end
57
57
 
58
- def test_job_args_can_be_modified_by_overriding_args_for_retry
59
- Resque.enqueue(DeprecatedRetryWithModifiedArgsJob)
60
- DeprecatedRetryWithModifiedArgsJob.expects(:warn)
61
- DeprecatedRetryWithModifiedArgsJob.expects(:args_for_retry)
62
- perform_next_job(@worker)
63
- end
64
-
65
58
  def test_job_args_can_be_modified_by_overriding_retry_args
66
59
  Resque.enqueue(RetryWithModifiedArgsJob)
67
60
  RetryWithModifiedArgsJob.expects(:retry_args)
@@ -146,14 +146,6 @@ class InheritTestWithMoreExtraJob < InheritTestWithExtraJob
146
146
  end
147
147
  end
148
148
 
149
- class DeprecatedRetryWithModifiedArgsJob < RetryDefaultsJob
150
- @queue = :testing
151
-
152
- def self.args_for_retry(*args)
153
- # NOTE: implementation is irrelevant we only care that it's invoked
154
- end
155
- end
156
-
157
149
  class RetryWithModifiedArgsJob < RetryDefaultsJob
158
150
  @queue = :testing
159
151
 
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.6.0
4
+ version: 1.7.0
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-04-21 00:00:00.000000000 Z
13
+ date: 2019-06-15 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: resque