resqutils 1.1.1 → 1.2.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 +4 -4
- data/.travis.yml +6 -0
- data/CODE_OF_CONDUCT.md +6 -0
- data/CONTRIBUTING.md +18 -0
- data/Gemfile.lock +22 -15
- data/gemfiles/rspec2.gemfile +7 -0
- data/gemfiles/rspec2.gemfile.lock +54 -0
- data/lib/resqutils/spec/resque_matchers.rb +14 -2
- data/lib/resqutils/stale_workers_killer.rb +2 -2
- data/lib/resqutils/version.rb +1 -1
- data/resqutils.gemspec +4 -3
- data/spec/resque_matchers_spec.rb +35 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/stale_workers_spec.rb +4 -1
- metadata +26 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a80c8babeebfe016d723913e3526e2b20970d672
|
4
|
+
data.tar.gz: 19828b603b4b2f7f991e03e2be56f4a441a29fae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1d995e26e2361f9d040631b922f1c495da746109a2ff9217f2dd544a7baa155281394b0729790c2b95c1cb38242a0c81ded71950ba43e61697ce5f2415203ea
|
7
|
+
data.tar.gz: ef07f5f0aa385e580f7bb6141ca61e27aaefe0aa31a466517fd9d105a10ba68cde2d898a5958a94a712f618eb3135cecffe74a16d5ef3b6d89f1829260d31ddc
|
data/.travis.yml
CHANGED
data/CODE_OF_CONDUCT.md
ADDED
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# Contributing
|
2
|
+
Thanks for using and improving *resqutils*! If you'd like to help out, check out [the project's issues list](https://github.com/stitchfix/resqutils/issues) for ideas on what could be improved. If there's an idea you'd like to propose, or a design change, feel free to file a new issue or send a pull request:
|
3
|
+
|
4
|
+
1. [Fork][fork] the repo.
|
5
|
+
1. [Create a topic branch.][branch]
|
6
|
+
1. Write tests.
|
7
|
+
1. Implement your feature or fix bug.
|
8
|
+
1. Add, commit, and push your changes.
|
9
|
+
1. [Submit a pull request.][pr]
|
10
|
+
|
11
|
+
[fork]: https://help.github.com/articles/fork-a-repo/
|
12
|
+
[branch]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/
|
13
|
+
[pr]: https://help.github.com/articles/using-pull-requests/
|
14
|
+
|
15
|
+
## General Guidelines
|
16
|
+
|
17
|
+
* When in doubt, test it. If you can't test it, re-think what you are doing.
|
18
|
+
* Code formatting and internal application architecture should be consistent.
|
data/Gemfile.lock
CHANGED
@@ -1,19 +1,21 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
resqutils (1.
|
4
|
+
resqutils (1.2.0)
|
5
5
|
resque
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://www.rubygems.org/
|
9
9
|
specs:
|
10
10
|
diff-lcs (1.2.5)
|
11
|
+
fakeredis (0.5.0)
|
12
|
+
redis (~> 3.0)
|
11
13
|
mono_logger (1.1.0)
|
12
|
-
multi_json (1.11.
|
13
|
-
rack (1.6.
|
14
|
+
multi_json (1.11.2)
|
15
|
+
rack (1.6.4)
|
14
16
|
rack-protection (1.5.3)
|
15
17
|
rack
|
16
|
-
rake (10.
|
18
|
+
rake (10.4.2)
|
17
19
|
redis (3.2.1)
|
18
20
|
redis-namespace (1.5.2)
|
19
21
|
redis (~> 3.0, >= 3.0.4)
|
@@ -23,18 +25,19 @@ GEM
|
|
23
25
|
redis-namespace (~> 1.3)
|
24
26
|
sinatra (>= 0.9.2)
|
25
27
|
vegas (~> 0.1.2)
|
26
|
-
rspec (3.
|
27
|
-
rspec-core (~> 3.
|
28
|
-
rspec-expectations (~> 3.
|
29
|
-
rspec-mocks (~> 3.
|
30
|
-
rspec-core (3.
|
31
|
-
rspec-support (~> 3.
|
32
|
-
rspec-expectations (3.1
|
28
|
+
rspec (3.3.0)
|
29
|
+
rspec-core (~> 3.3.0)
|
30
|
+
rspec-expectations (~> 3.3.0)
|
31
|
+
rspec-mocks (~> 3.3.0)
|
32
|
+
rspec-core (3.3.2)
|
33
|
+
rspec-support (~> 3.3.0)
|
34
|
+
rspec-expectations (3.3.1)
|
33
35
|
diff-lcs (>= 1.2.0, < 2.0)
|
34
|
-
rspec-support (~> 3.
|
35
|
-
rspec-mocks (3.
|
36
|
-
|
37
|
-
|
36
|
+
rspec-support (~> 3.3.0)
|
37
|
+
rspec-mocks (3.3.2)
|
38
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
39
|
+
rspec-support (~> 3.3.0)
|
40
|
+
rspec-support (3.3.0)
|
38
41
|
sinatra (1.4.6)
|
39
42
|
rack (~> 1.4)
|
40
43
|
rack-protection (~> 1.4)
|
@@ -47,6 +50,10 @@ PLATFORMS
|
|
47
50
|
ruby
|
48
51
|
|
49
52
|
DEPENDENCIES
|
53
|
+
fakeredis
|
50
54
|
rake
|
51
55
|
resqutils!
|
52
56
|
rspec
|
57
|
+
|
58
|
+
BUNDLED WITH
|
59
|
+
1.10.6
|
@@ -0,0 +1,54 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ../
|
3
|
+
specs:
|
4
|
+
resqutils (1.1.1)
|
5
|
+
resque
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://www.rubygems.org/
|
9
|
+
specs:
|
10
|
+
diff-lcs (1.2.5)
|
11
|
+
fakeredis (0.5.0)
|
12
|
+
redis (~> 3.0)
|
13
|
+
mono_logger (1.1.0)
|
14
|
+
multi_json (1.11.2)
|
15
|
+
rack (1.6.4)
|
16
|
+
rack-protection (1.5.3)
|
17
|
+
rack
|
18
|
+
rake (10.4.2)
|
19
|
+
redis (3.2.1)
|
20
|
+
redis-namespace (1.5.2)
|
21
|
+
redis (~> 3.0, >= 3.0.4)
|
22
|
+
resque (1.25.2)
|
23
|
+
mono_logger (~> 1.0)
|
24
|
+
multi_json (~> 1.0)
|
25
|
+
redis-namespace (~> 1.3)
|
26
|
+
sinatra (>= 0.9.2)
|
27
|
+
vegas (~> 0.1.2)
|
28
|
+
rspec (2.99.0)
|
29
|
+
rspec-core (~> 2.99.0)
|
30
|
+
rspec-expectations (~> 2.99.0)
|
31
|
+
rspec-mocks (~> 2.99.0)
|
32
|
+
rspec-core (2.99.2)
|
33
|
+
rspec-expectations (2.99.2)
|
34
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
35
|
+
rspec-mocks (2.99.4)
|
36
|
+
sinatra (1.4.6)
|
37
|
+
rack (~> 1.4)
|
38
|
+
rack-protection (~> 1.4)
|
39
|
+
tilt (>= 1.3, < 3)
|
40
|
+
tilt (2.0.1)
|
41
|
+
vegas (0.1.11)
|
42
|
+
rack (>= 1.0.0)
|
43
|
+
|
44
|
+
PLATFORMS
|
45
|
+
ruby
|
46
|
+
|
47
|
+
DEPENDENCIES
|
48
|
+
fakeredis
|
49
|
+
rake
|
50
|
+
resqutils!
|
51
|
+
rspec (~> 2)
|
52
|
+
|
53
|
+
BUNDLED WITH
|
54
|
+
1.10.6
|
@@ -12,7 +12,13 @@ RSpec::Matchers.define :have_job_queued do |expected_job_hash|
|
|
12
12
|
jobs_matching(queue_name,expected_job_hash).first.size == 1
|
13
13
|
end
|
14
14
|
|
15
|
-
|
15
|
+
failure_message_method = if defined?(failure_message)
|
16
|
+
:failure_message
|
17
|
+
else
|
18
|
+
:failure_message_for_should
|
19
|
+
end
|
20
|
+
|
21
|
+
send(failure_message_method) do |queue_name|
|
16
22
|
matching_jobs,all_jobs = jobs_matching(queue_name,expected_job_hash)
|
17
23
|
if matching_jobs.empty?
|
18
24
|
"No jobs in #{queue_name} matched #{expected_job_hash.inspect} (Found these jobs: #{all_jobs.map(&:inspect).join(',')})"
|
@@ -21,7 +27,13 @@ RSpec::Matchers.define :have_job_queued do |expected_job_hash|
|
|
21
27
|
end
|
22
28
|
end
|
23
29
|
|
24
|
-
|
30
|
+
failure_message_when_negated_method = if defined?(failure_message_when_negated)
|
31
|
+
:failure_message_when_negated
|
32
|
+
else
|
33
|
+
:failure_message_for_should_not
|
34
|
+
end
|
35
|
+
|
36
|
+
send(failure_message_when_negated_method) do |queue_name|
|
25
37
|
"Found job #{expected_job_hash.inspect} in the queue"
|
26
38
|
end
|
27
39
|
end
|
@@ -6,8 +6,8 @@ module Resqutils
|
|
6
6
|
self.new.kill_stale_workers
|
7
7
|
end
|
8
8
|
|
9
|
-
def initialize(
|
10
|
-
@stale_workers = stale_workers
|
9
|
+
def initialize(options={})
|
10
|
+
@stale_workers = options.fetch(:stale_workers, Resqutils::StaleWorkers.new)
|
11
11
|
end
|
12
12
|
def kill_stale_workers
|
13
13
|
@stale_workers.each do |worker|
|
data/lib/resqutils/version.rb
CHANGED
data/resqutils.gemspec
CHANGED
@@ -6,8 +6,8 @@ Gem::Specification.new do |s|
|
|
6
6
|
s.name = "resqutils"
|
7
7
|
s.version = Resqutils::VERSION
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
|
-
s.authors = [
|
10
|
-
s.email = [
|
9
|
+
s.authors = ["Stitch Fix Engineering","Dave Copeland","Simeon Willbanks"]
|
10
|
+
s.email = ["opensource@stitchfix.com","davetron5000@gmail.com","simeon@simeons.net"]
|
11
11
|
s.license = "Apache License Version 2.0, January 2004"
|
12
12
|
s.homepage = "https://github.com/stitchfix/resqutils"
|
13
13
|
s.summary = "Utilities for using Resque in a Rails app"
|
@@ -17,7 +17,8 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
|
-
s.
|
20
|
+
s.add_runtime_dependency("resque")
|
21
21
|
s.add_development_dependency("rake")
|
22
22
|
s.add_development_dependency("rspec")
|
23
|
+
s.add_development_dependency("fakeredis")
|
23
24
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rspec/version'
|
3
|
+
|
4
|
+
describe "Resque RSpec custom matchers" do
|
5
|
+
include Resqutils::Spec::ResqueHelpers
|
6
|
+
|
7
|
+
context "have_job_queued" do
|
8
|
+
class BackgroundJob
|
9
|
+
@queue = :low
|
10
|
+
|
11
|
+
def self.perform
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class Service
|
16
|
+
def expensive
|
17
|
+
Resque.enqueue(BackgroundJob)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
before do
|
22
|
+
clear_queue(BackgroundJob)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "asserts Resque job has been queued" do
|
26
|
+
Service.new.expensive
|
27
|
+
|
28
|
+
if RSpec::Version::STRING.start_with?("2")
|
29
|
+
"low".should have_job_queued(class: BackgroundJob, args: [])
|
30
|
+
else
|
31
|
+
expect("low").to have_job_queued(class: BackgroundJob, args: [])
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/stale_workers_spec.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resqutils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stitch Fix Engineering
|
8
|
+
- Dave Copeland
|
9
|
+
- Simeon Willbanks
|
8
10
|
autorequire:
|
9
11
|
bindir: bin
|
10
12
|
cert_chain: []
|
11
|
-
date: 2015-
|
13
|
+
date: 2015-11-19 00:00:00.000000000 Z
|
12
14
|
dependencies:
|
13
15
|
- !ruby/object:Gem::Dependency
|
14
16
|
name: resque
|
@@ -52,9 +54,25 @@ dependencies:
|
|
52
54
|
- - ">="
|
53
55
|
- !ruby/object:Gem::Version
|
54
56
|
version: '0'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: fakeredis
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
64
|
+
type: :development
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
55
71
|
description: Utilities for using Resque in a Rails app
|
56
72
|
email:
|
57
73
|
- opensource@stitchfix.com
|
74
|
+
- davetron5000@gmail.com
|
75
|
+
- simeon@simeons.net
|
58
76
|
executables: []
|
59
77
|
extensions: []
|
60
78
|
extra_rdoc_files: []
|
@@ -63,11 +81,15 @@ files:
|
|
63
81
|
- ".ruby-gemset"
|
64
82
|
- ".ruby-version"
|
65
83
|
- ".travis.yml"
|
84
|
+
- CODE_OF_CONDUCT.md
|
85
|
+
- CONTRIBUTING.md
|
66
86
|
- Gemfile
|
67
87
|
- Gemfile.lock
|
68
88
|
- LICENSE.txt
|
69
89
|
- README.md
|
70
90
|
- Rakefile
|
91
|
+
- gemfiles/rspec2.gemfile
|
92
|
+
- gemfiles/rspec2.gemfile.lock
|
71
93
|
- lib/resqutils.rb
|
72
94
|
- lib/resqutils/do_not_auto_retry.rb
|
73
95
|
- lib/resqutils/spec.rb
|
@@ -79,6 +101,7 @@ files:
|
|
79
101
|
- lib/resqutils/worker_killer_job.rb
|
80
102
|
- lib/resqutils/worker_task.rb
|
81
103
|
- resqutils.gemspec
|
104
|
+
- spec/resque_matchers_spec.rb
|
82
105
|
- spec/spec_helper.rb
|
83
106
|
- spec/stale_workers_killer_spec.rb
|
84
107
|
- spec/stale_workers_spec.rb
|
@@ -109,6 +132,7 @@ signing_key:
|
|
109
132
|
specification_version: 4
|
110
133
|
summary: Utilities for using Resque in a Rails app
|
111
134
|
test_files:
|
135
|
+
- spec/resque_matchers_spec.rb
|
112
136
|
- spec/spec_helper.rb
|
113
137
|
- spec/stale_workers_killer_spec.rb
|
114
138
|
- spec/stale_workers_spec.rb
|