resque-cluster 0.2.2 → 0.2.3
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/Gemfile +1 -16
- data/Gemfile.lock +11 -7
- data/lib/resque/cluster/config.rb +2 -20
- data/lib/resque/cluster/member.rb +2 -2
- data/lib/resque/cluster/version.rb +1 -1
- data/lib/resque/pool/patches.rb +2 -2
- data/resque-cluster.gemspec +2 -1
- data/spec/integration/cluster_spec.rb +2 -2
- data/spec/unit/config_spec.rb +2 -12
- metadata +45 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c483198ba655c6b6a01d9e5bf12bc94c78d7b97
|
4
|
+
data.tar.gz: 2ba5e136b052f24b10e034caa4b6dbb25faafb54
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e179193ae5214b87436aef62b1af2193153894f6f9e9d39980d3b110d8d364635771c8e925d8db12886432e1790986d6b6bbf1cb515e3a4eac67eed87996e590
|
7
|
+
data.tar.gz: 9c5502109e773a4869e565f11d5d28bc279bebb8a425de6f6ddd907e3d98c7e96dbfa6693ef2ae97ecce21f3995813268f959934520c007d6684b164b344fbcd
|
data/Gemfile
CHANGED
@@ -1,18 +1,3 @@
|
|
1
1
|
source 'http://rubygems.org'
|
2
2
|
|
3
|
-
|
4
|
-
gem 'gru'
|
5
|
-
|
6
|
-
group :development do
|
7
|
-
gem 'sys-proctable'
|
8
|
-
gem 'ffi'
|
9
|
-
gem 'pry'
|
10
|
-
gem 'awesome_print'
|
11
|
-
gem 'rspec', '~> 3.1.0'
|
12
|
-
gem 'rdoc', '~> 3.12'
|
13
|
-
gem 'bundler', '~> 1.0'
|
14
|
-
gem 'jeweler', '~> 2.0.1'
|
15
|
-
gem 'simplecov', '>= 0'
|
16
|
-
gem 'rubocop', '~> 0.31'
|
17
|
-
gem 'mock_redis', '~> 0.15.0'
|
18
|
-
end
|
3
|
+
gemspec
|
data/Gemfile.lock
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
resque-cluster (0.2.3)
|
5
|
+
gru (= 0.1.3)
|
6
|
+
resque-pool (~> 0.5.0)
|
7
|
+
|
1
8
|
GEM
|
2
9
|
remote: http://rubygems.org/
|
3
10
|
specs:
|
@@ -37,7 +44,6 @@ GEM
|
|
37
44
|
jwt (1.5.4)
|
38
45
|
method_source (0.8.2)
|
39
46
|
mini_portile2 (2.1.0)
|
40
|
-
mock_redis (0.15.4)
|
41
47
|
mono_logger (1.1.0)
|
42
48
|
multi_json (1.12.1)
|
43
49
|
multi_xml (0.5.5)
|
@@ -120,15 +126,13 @@ PLATFORMS
|
|
120
126
|
ruby
|
121
127
|
|
122
128
|
DEPENDENCIES
|
123
|
-
awesome_print
|
124
|
-
bundler (~> 1.
|
129
|
+
awesome_print (> 0.0)
|
130
|
+
bundler (~> 1.7)
|
125
131
|
ffi
|
126
|
-
gru
|
127
132
|
jeweler (~> 2.0.1)
|
128
|
-
|
129
|
-
pry
|
133
|
+
pry (> 0.0)
|
130
134
|
rdoc (~> 3.12)
|
131
|
-
resque-
|
135
|
+
resque-cluster!
|
132
136
|
rspec (~> 3.1.0)
|
133
137
|
rubocop (~> 0.31)
|
134
138
|
simplecov
|
@@ -7,7 +7,7 @@ module Resque
|
|
7
7
|
class Config
|
8
8
|
extend Forwardable
|
9
9
|
|
10
|
-
attr_reader :configs, :config, :global_config, :verifier
|
10
|
+
attr_reader :configs, :config, :global_config, :verifier
|
11
11
|
|
12
12
|
def initialize(config_path, global_config_path = nil)
|
13
13
|
@config = Config::File.new(config_path)
|
@@ -26,7 +26,6 @@ module Resque
|
|
26
26
|
|
27
27
|
@errors = Set.new
|
28
28
|
@verifier = Verifier.new(configs)
|
29
|
-
@version_git_hash = config_version
|
30
29
|
end
|
31
30
|
|
32
31
|
def verified?
|
@@ -45,8 +44,7 @@ module Resque
|
|
45
44
|
cluster_maximums: cluster_maximums,
|
46
45
|
rebalance_flag: rebalance_flag || false,
|
47
46
|
max_workers_per_host: max_workers_per_host || nil,
|
48
|
-
presume_host_dead_after: presume_dead_after || 120
|
49
|
-
version_hash: version_git_hash
|
47
|
+
presume_host_dead_after: presume_dead_after || 120
|
50
48
|
}
|
51
49
|
end
|
52
50
|
|
@@ -148,22 +146,6 @@ module Resque
|
|
148
146
|
:old
|
149
147
|
end
|
150
148
|
end
|
151
|
-
|
152
|
-
def config_version
|
153
|
-
return unless verified?
|
154
|
-
|
155
|
-
directory_name = config.dirname
|
156
|
-
|
157
|
-
if directory_name.exist?
|
158
|
-
output = Dir.chdir(directory_name) { `git rev-parse --verify HEAD`.chomp }
|
159
|
-
|
160
|
-
if $?.success?
|
161
|
-
@version_git_hash = output
|
162
|
-
else
|
163
|
-
@warnings << "Your config directory: #{directory_name} is not a git repo. Your configuration will not be versioned"
|
164
|
-
end
|
165
|
-
end
|
166
|
-
end
|
167
149
|
end
|
168
150
|
end
|
169
151
|
end
|
@@ -15,7 +15,7 @@ module Resque
|
|
15
15
|
@worker_count_manager = initialize_gru
|
16
16
|
else
|
17
17
|
@config.log_errors
|
18
|
-
@pool.
|
18
|
+
@pool.premature_quit
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
@@ -37,7 +37,7 @@ module Resque
|
|
37
37
|
private
|
38
38
|
|
39
39
|
def global_prefix
|
40
|
-
"cluster:#{Cluster.config[:cluster_name]}:#{Cluster.config[:environment]}
|
40
|
+
"cluster:#{Cluster.config[:cluster_name]}:#{Cluster.config[:environment]}"
|
41
41
|
end
|
42
42
|
|
43
43
|
def member_prefix
|
data/lib/resque/pool/patches.rb
CHANGED
data/resque-cluster.gemspec
CHANGED
@@ -29,5 +29,6 @@ Gem::Specification.new do |s|
|
|
29
29
|
s.add_development_dependency 'jeweler', '~> 2.0.1'
|
30
30
|
s.add_development_dependency 'simplecov', '>= 0'
|
31
31
|
s.add_development_dependency 'rubocop', '~> 0.31'
|
32
|
-
s.add_development_dependency '
|
32
|
+
s.add_development_dependency 'sys-proctable'
|
33
|
+
s.add_development_dependency 'ffi'
|
33
34
|
end
|
@@ -157,8 +157,8 @@ RSpec.describe "Resque test-cluster" do
|
|
157
157
|
sleep(8) # rebalance time
|
158
158
|
expect(TestMemberManager.counts).to eq('par' => 3, 'tar' => 6, 'par,tar,var' => 2)
|
159
159
|
expect(@a.counts).to eq('par' => 1, 'tar' => 2, 'par,tar,var' => 1)
|
160
|
-
expect(@b.counts).to eq('par' => 1, 'tar' => 2)
|
161
|
-
expect(@c.counts).to eq('par' => 1, 'tar' => 2
|
160
|
+
expect(@b.counts).to eq('par' => 1, 'tar' => 2, 'par,tar,var' => 1)
|
161
|
+
expect(@c.counts).to eq('par' => 1, 'tar' => 2)
|
162
162
|
end
|
163
163
|
|
164
164
|
after :all do
|
data/spec/unit/config_spec.rb
CHANGED
@@ -34,8 +34,7 @@ RSpec.describe Resque::Cluster::Config do
|
|
34
34
|
max_workers_per_host: 10,
|
35
35
|
cluster_name: "unit-test-cluster",
|
36
36
|
environment_name: "unit-test",
|
37
|
-
manage_worker_heartbeats: true
|
38
|
-
version_hash: `git rev-parse --verify HEAD`.strip
|
37
|
+
manage_worker_heartbeats: true
|
39
38
|
}
|
40
39
|
end
|
41
40
|
|
@@ -120,8 +119,7 @@ RSpec.describe Resque::Cluster::Config do
|
|
120
119
|
max_workers_per_host: nil,
|
121
120
|
cluster_name: "unit-test-cluster",
|
122
121
|
environment_name: "unit-test",
|
123
|
-
manage_worker_heartbeats: true
|
124
|
-
version_hash: `git rev-parse --verify HEAD`.strip
|
122
|
+
manage_worker_heartbeats: true
|
125
123
|
}
|
126
124
|
end
|
127
125
|
|
@@ -131,10 +129,6 @@ RSpec.describe Resque::Cluster::Config do
|
|
131
129
|
expect(config.errors.count).to eql(0)
|
132
130
|
expect(config.warnings.count).to eql(0)
|
133
131
|
end
|
134
|
-
|
135
|
-
it "git_version_hash should be set" do
|
136
|
-
expect(config.version_git_hash).to eql(`git rev-parse --verify HEAD`.strip)
|
137
|
-
end
|
138
132
|
end
|
139
133
|
|
140
134
|
context 'with a missing local maximum' do
|
@@ -185,10 +179,6 @@ RSpec.describe Resque::Cluster::Config do
|
|
185
179
|
it "gru_format should return a an empty hash" do
|
186
180
|
expect(config.gru_format).to eql(correct_hash)
|
187
181
|
end
|
188
|
-
|
189
|
-
it "git_version_hash should not be set" do
|
190
|
-
expect(config.version_git_hash).to be_nil
|
191
|
-
end
|
192
182
|
end
|
193
183
|
end
|
194
184
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque-cluster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yasha Portnoy
|
@@ -14,14 +14,14 @@ dependencies:
|
|
14
14
|
name: resque-pool
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 0.5.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.5.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -42,128 +42,142 @@ dependencies:
|
|
42
42
|
name: pry
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>'
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>'
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: awesome_print
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>'
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '>'
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 3.1.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 3.1.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rdoc
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ~>
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '3.12'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '3.12'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: bundler
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- -
|
101
|
+
- - ~>
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '1.7'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '1.7'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: jeweler
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- -
|
115
|
+
- - ~>
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: 2.0.1
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- -
|
122
|
+
- - ~>
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: 2.0.1
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: simplecov
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - '>='
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - '>='
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: rubocop
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- -
|
143
|
+
- - ~>
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: '0.31'
|
146
146
|
type: :development
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- -
|
150
|
+
- - ~>
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0.31'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
154
|
+
name: sys-proctable
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- -
|
157
|
+
- - '>='
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0
|
159
|
+
version: '0'
|
160
160
|
type: :development
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
|
-
- -
|
164
|
+
- - '>='
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: ffi
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - '>='
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
167
181
|
description: A management tool for resque workers. Allows spinning up and managing
|
168
182
|
resque workers across multiple machines sharing the same Redis server
|
169
183
|
email: yash.portnoy@gmail.com
|
@@ -172,10 +186,10 @@ executables:
|
|
172
186
|
extensions: []
|
173
187
|
extra_rdoc_files: []
|
174
188
|
files:
|
175
|
-
-
|
176
|
-
-
|
177
|
-
-
|
178
|
-
-
|
189
|
+
- .document
|
190
|
+
- .gitignore
|
191
|
+
- .rspec
|
192
|
+
- .rubocop.yml
|
179
193
|
- Gemfile
|
180
194
|
- Gemfile.lock
|
181
195
|
- LICENSE.txt
|
@@ -239,17 +253,17 @@ require_paths:
|
|
239
253
|
- lib
|
240
254
|
required_ruby_version: !ruby/object:Gem::Requirement
|
241
255
|
requirements:
|
242
|
-
- -
|
256
|
+
- - '>='
|
243
257
|
- !ruby/object:Gem::Version
|
244
258
|
version: '0'
|
245
259
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
246
260
|
requirements:
|
247
|
-
- -
|
261
|
+
- - '>='
|
248
262
|
- !ruby/object:Gem::Version
|
249
263
|
version: '0'
|
250
264
|
requirements: []
|
251
265
|
rubyforge_project:
|
252
|
-
rubygems_version: 2.
|
266
|
+
rubygems_version: 2.2.2
|
253
267
|
signing_key:
|
254
268
|
specification_version: 4
|
255
269
|
summary: Creates and manages resque worker in a distributed cluster
|