resque-retry 1.3.2 → 1.4.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
  SHA1:
3
- metadata.gz: 3e009bab760d817a59eb5969981a4449b84b3b8a
4
- data.tar.gz: 293ad2734c8083e095456b278c7fcf3f5aa724ca
3
+ metadata.gz: d4c061060637465cbab7c2348d2facefa1816493
4
+ data.tar.gz: 3b76a1d34c68eeb3fae868900b75ca02192bc851
5
5
  SHA512:
6
- metadata.gz: a8bb21258513a5f42cb19a228bb46e57d25b57022aefaabca41c81d6c63fc483d44028960b8ec09c2cae0ac8575b6e1041e078c2532b67757117ac419397a190
7
- data.tar.gz: 4f6ab5ead5467abfa397977c3b5b32c8ce3879b02a60045ac490d6683123fbc1561d4f611753df71d2b1f4874fbae440efd42b8eff2a2b9c547d5b150787277c
6
+ metadata.gz: 63bcdd107167973953477e6e591c8ce86d2a2957b41bb93cbe161153f5f2e6fd69e417718ba46d497f755fcde882373f2f992538c48b7aa11b7a449ba2aec867
7
+ data.tar.gz: 4d34d77f1fe0b4ae1728495865f79f20b05ef7896ddf30d23d70cdef2d03caf57ff995617e2e6aff3b854a34865933a05913a638e2fb0e285f75685bb334771a
data/HISTORY.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## HEAD
2
2
 
3
+ ## 1.4.0 (2015-01-07)
4
+
5
+ * Dependency on `resque-scheduler` bumped to ~> 4.0
6
+
3
7
  ## 1.3.2 (2014-10-09)
4
8
 
5
9
  * Fixed: Ensure `#constantize` is called on `Job` instance.
data/README.md CHANGED
@@ -1,10 +1,9 @@
1
1
  resque-retry
2
2
  ============
3
3
 
4
- A [Resque][rq] plugin. Requires Resque ~> 1.25 & [resque-scheduler][rqs] ~> 3.0.
4
+ A [Resque][rq] plugin. Requires Resque ~> 1.25 & [resque-scheduler][rqs] ~> 4.0.
5
5
 
6
- resque-retry provides retry, delay and exponential backoff support for
7
- resque jobs.
6
+ This gem provides retry, delay and exponential backoff support for resque jobs.
8
7
 
9
8
  * Redis backed retry count/limit.
10
9
  * Retry on all or specific exceptions.
@@ -107,16 +106,64 @@ also checkout the resque-web additions!
107
106
  The new Retry tab displays delayed jobs with retry information; the number of
108
107
  attempts and the exception details from the last failure.
109
108
 
110
- Make sure you include this in your `config.ru` or similar file:
109
+
110
+ ### Configuring and running the Resque-Web Interface
111
+
112
+ #### Using a Rack configuration:
113
+
114
+ One alternative is to use a rack configuration file. To use this, make
115
+ sure you include this in your `config.ru` or similar file:
116
+
111
117
  ```ruby
112
118
  require 'resque-retry'
113
119
  require 'resque-retry/server'
114
120
 
115
- # require your jobs & application code.
121
+ # Make sure to require your workers & application code below this line:
122
+ # require '[path]/[to]/[jobs]/your_worker'
116
123
 
124
+ # Run the server
117
125
  run Resque::Server.new
118
126
  ```
119
127
 
128
+ As an example, you could run this server with the following command:
129
+ ```
130
+ rackup -p 9292 config.ru
131
+ ```
132
+
133
+ When using bundler, you can also run the server like this:
134
+ ```
135
+ bundle exec rackup -p 9292 config.ru
136
+ ```
137
+
138
+
139
+ #### Using the 'resque-web' command with a configuration file:
140
+
141
+ Another alternative is to use resque's built-in 'resque-web' command with
142
+ the additional resque-retry tabs. In order to do this, you must first create
143
+ a configuration file. For the sake of this example we'll create the configuration
144
+ file in a 'config' directory, and name it 'resque_web_config.rb'. In practice
145
+ you could rename this configuration file to anything you'd like and place in your
146
+ project in any directory of your choosing. The contents of the configuration file
147
+ would look like this:
148
+
149
+ ```ruby
150
+ # [app_dir]/config/resque_web_config.rb
151
+ require 'resque-retry'
152
+ require 'resque-retry/server'
153
+
154
+ # Make sure to require your workers & application code below this line:
155
+ # require '[path]/[to]/[jobs]/your_worker'
156
+
157
+ ```
158
+
159
+ Once you have the configuration file ready, you can pass the configuration file
160
+ to the resque-web command as a parameter, like so:
161
+
162
+ ```
163
+ resque-web [app_dir]/config/resque_web_config.rb
164
+ ```
165
+
166
+
120
167
  Retry Options & Logic
121
168
  ---------------------
122
169
 
@@ -437,7 +484,6 @@ Contributing/Pull Requests
437
484
  * If you edit the gemspec/version etc, please do so in another commit.
438
485
 
439
486
  [god]: http://github.com/mojombo/god
440
- [rq]: http://github.com/defunkt/resque
441
- [rqs]: http://github.com/bvandenbos/resque-scheduler
442
- [bundler]: http://gembundler.com/
443
-
487
+ [rq]: http://github.com/resque/resque
488
+ [rqs]: http://github.com/resque/resque-scheduler
489
+ [bundler]: http://bundler.io
@@ -1,3 +1,3 @@
1
1
  module ResqueRetry
2
- VERSION = '1.3.2'
2
+ VERSION = '1.4.0'
3
3
  end
@@ -30,13 +30,13 @@ Gem::Specification.new do |s|
30
30
  s.require_paths = %w[lib]
31
31
 
32
32
  s.add_dependency('resque', '~> 1.25')
33
- s.add_dependency('resque-scheduler', '~> 3.0')
33
+ s.add_dependency('resque-scheduler', '~> 4.0')
34
34
 
35
- s.add_development_dependency('rake', '~> 10.1')
36
- s.add_development_dependency('minitest', '~> 4.0')
35
+ s.add_development_dependency('rake', '~> 10.3')
36
+ s.add_development_dependency('minitest', '~> 5.5')
37
37
  s.add_development_dependency('rack-test', '~> 0.6')
38
38
  s.add_development_dependency('yard', '~> 0.8')
39
39
  s.add_development_dependency('json', '~> 1.8')
40
- s.add_development_dependency('simplecov', '~> 0.7')
41
- s.add_development_dependency('mocha', '~> 1.0')
40
+ s.add_development_dependency('simplecov', '~> 0.9')
41
+ s.add_development_dependency('mocha', '~> 1.1')
42
42
  end
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class ExponentialBackoffTest < MiniTest::Unit::TestCase
3
+ class ExponentialBackoffTest < Minitest::Test
4
4
  def setup
5
5
  Resque.redis.flushall
6
6
  @worker = Resque::Worker.new(:testing)
@@ -13,7 +13,7 @@ class MockFailureBackend < Resque::Failure::Base
13
13
  self.errors = []
14
14
  end
15
15
 
16
- class MultipleFailureTest < MiniTest::Unit::TestCase
16
+ class MultipleFailureTest < Minitest::Test
17
17
 
18
18
  def setup
19
19
  Resque.redis.flushall
@@ -13,8 +13,7 @@ port 9736
13
13
 
14
14
  # If you want you can bind a single interface, if the bind option is not
15
15
  # specified all the interfaces will listen for connections.
16
- #
17
- # bind 127.0.0.1
16
+ bind 127.0.0.1
18
17
 
19
18
  # Close the connection after a client is idle for N seconds (0 to disable)
20
19
  timeout 300
@@ -1,7 +1,7 @@
1
1
  require 'test_helper'
2
2
 
3
3
  # make sure the worlds not fallen from beneith us.
4
- class ResqueTest < MiniTest::Unit::TestCase
4
+ class ResqueTest < Minitest::Test
5
5
  def test_resque_version
6
6
  major, minor, patch = Resque::Version.split('.')
7
7
  assert_equal 1, major.to_i, 'major version does not match'
@@ -15,4 +15,4 @@ class ResqueTest < MiniTest::Unit::TestCase
15
15
  assert_equal 1, Resque.info[:processed], 'processed job'
16
16
  assert_equal 0, Resque.delayed_queue_schedule_size
17
17
  end
18
- end
18
+ end
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class RetryCriteriaTest < MiniTest::Unit::TestCase
3
+ class RetryCriteriaTest < Minitest::Test
4
4
  def setup
5
5
  Resque.redis.flushall
6
6
  @worker = Resque::Worker.new(:testing)
@@ -72,4 +72,4 @@ class RetryCriteriaTest < MiniTest::Unit::TestCase
72
72
  assert_equal 2, Resque.info[:failed], 'failed jobs'
73
73
  assert_equal 3, Resque.info[:processed], 'processed job'
74
74
  end
75
- end
75
+ end
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class RetryTest < MiniTest::Unit::TestCase
3
+ class RetryTest < Minitest::Test
4
4
  def setup
5
5
  Resque.redis.flushall
6
6
  @worker = Resque::Worker.new(:testing)
@@ -43,5 +43,4 @@ class RetryTest < MiniTest::Unit::TestCase
43
43
  assert_in_delta (start_time + 10), delayed[1], 1.00, '2nd retry delay timestamp'
44
44
  assert_in_delta (start_time + 15), delayed[2], 1.00, '3rd retry delay timestamp'
45
45
  end
46
-
47
46
  end
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class RetryInheritingChecksTest < MiniTest::Unit::TestCase
3
+ class RetryInheritingChecksTest < Minitest::Test
4
4
  def setup
5
5
  Resque.redis.flushall
6
6
  @worker = Resque::Worker.new(:testing)
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
  require 'resque/failure/redis'
3
3
  require 'digest/sha1'
4
4
 
5
- class RetryTest < MiniTest::Unit::TestCase
5
+ class RetryTest < Minitest::Test
6
6
  def setup
7
7
  Resque.redis.flushall
8
8
  @worker = Resque::Worker.new(:testing)
@@ -1,10 +1,8 @@
1
1
  require 'test_helper'
2
-
3
2
  require 'resque'
4
3
  require 'resque-retry/server'
5
4
 
6
- class ServerHelpersTest < MiniTest::Unit::TestCase
7
-
5
+ class ServerHelpersTest < Minitest::Test
8
6
  def setup
9
7
  Resque.redis.flushall
10
8
  @worker = Resque::Worker.new(:testing)
@@ -21,5 +19,4 @@ class ServerHelpersTest < MiniTest::Unit::TestCase
21
19
  job = Resque.delayed_timestamp_peek(timestamp, 0, 1).first
22
20
  assert_equal '0', @helpers.retry_attempts_for_job(job), 'should have 0 retry attempt'
23
21
  end
24
-
25
22
  end
@@ -1,10 +1,10 @@
1
1
  require 'test_helper'
2
-
3
2
  require 'resque-retry/server'
4
- ENV['RACK_ENV'] = 'test'
3
+
4
+ ENV['RACK_ENV'] = ENV['RAILS_ENV']
5
5
 
6
6
  # Testing the Resque web interface additions.
7
- class ServerTest < MiniTest::Unit::TestCase
7
+ class ServerTest < MiniTest::Test
8
8
  include Rack::Test::Methods
9
9
 
10
10
  def setup
@@ -41,5 +41,4 @@ class ServerTest < MiniTest::Unit::TestCase
41
41
  get '/retry'
42
42
  assert last_response.body.include?('<b>1</b> timestamps'), 'should have 1 retry jobs'
43
43
  end
44
-
45
- end
44
+ end
@@ -4,7 +4,7 @@ $TESTING = true
4
4
 
5
5
  require 'rubygems'
6
6
  require 'timeout'
7
- require 'minitest/unit'
7
+ require 'minitest/autorun'
8
8
  require 'minitest/pride'
9
9
  require 'rack/test'
10
10
  require 'mocha/setup'
@@ -32,21 +32,16 @@ if !system('which redis-cli')
32
32
  abort ''
33
33
  end
34
34
 
35
- # This code is run `at_exit` to setup everything before running the tests.
36
- # Redis server is started before this code block runs.
37
- at_exit do
38
- next if $!
39
-
40
- exit_code = MiniTest::Unit.new.run(ARGV)
41
- `redis-cli -p 9736 shutdown nosave`
42
- end
35
+ # This code is run after all the tests have finished running to ensure that the
36
+ # Redis server is shutdowa
37
+ Minitest.after_run { `redis-cli -p 9736 shutdown nosave` }
43
38
 
44
39
  puts "Starting redis for testing at localhost:9736..."
45
40
  `redis-server #{dir}/redis-test.conf`
46
41
  Resque.redis = '127.0.0.1:9736'
47
42
 
48
43
  # Test helpers
49
- class MiniTest::Unit::TestCase
44
+ class Minitest::Test
50
45
  def perform_next_job(worker, &block)
51
46
  return unless job = worker.reserve
52
47
  worker.perform(job, &block)
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.3.2
4
+ version: 1.4.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: 2014-10-09 00:00:00.000000000 Z
13
+ date: 2015-01-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: resque
@@ -32,42 +32,42 @@ dependencies:
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: '3.0'
35
+ version: '4.0'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: '3.0'
42
+ version: '4.0'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: rake
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '10.1'
49
+ version: '10.3'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '10.1'
56
+ version: '10.3'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: minitest
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '4.0'
63
+ version: '5.5'
64
64
  type: :development
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: '4.0'
70
+ version: '5.5'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: rack-test
73
73
  requirement: !ruby/object:Gem::Requirement
@@ -116,28 +116,28 @@ dependencies:
116
116
  requirements:
117
117
  - - "~>"
118
118
  - !ruby/object:Gem::Version
119
- version: '0.7'
119
+ version: '0.9'
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - "~>"
125
125
  - !ruby/object:Gem::Version
126
- version: '0.7'
126
+ version: '0.9'
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: mocha
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
131
  - - "~>"
132
132
  - !ruby/object:Gem::Version
133
- version: '1.0'
133
+ version: '1.1'
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - "~>"
139
139
  - !ruby/object:Gem::Version
140
- version: '1.0'
140
+ version: '1.1'
141
141
  description: |2
142
142
  resque-retry provides retry, delay and exponential backoff support for
143
143
  resque jobs.
@@ -213,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
213
  version: '0'
214
214
  requirements: []
215
215
  rubyforge_project:
216
- rubygems_version: 2.4.1
216
+ rubygems_version: 2.4.2
217
217
  signing_key:
218
218
  specification_version: 4
219
219
  summary: A resque plugin; provides retry, delay and exponential backoff support for