resque-retry 1.3.2 → 1.4.0

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