resque-cluster 0.2.2 → 0.2.3

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: 028add6454ab766f7e58fa251823eff190559194
4
- data.tar.gz: 0e01b90462174035b216102d769cbd1a55b24073
3
+ metadata.gz: 7c483198ba655c6b6a01d9e5bf12bc94c78d7b97
4
+ data.tar.gz: 2ba5e136b052f24b10e034caa4b6dbb25faafb54
5
5
  SHA512:
6
- metadata.gz: 75c0431398c6c47ae6cbeb9daca36eb80b2741fbc3c32cb1b5b06d515754a783548f9e481f9dc17b79b5a1f2b942ecf8ec3f2bfc00b5d4b115e5de94a96bac7c
7
- data.tar.gz: 81f6a17b89b6112037592908d1bfd3139c7130e36509ec4f211cdd348ee86838fd74e0ae72b7a50136e0092a8359056ad3cfdf2bd1dfddb91f9df79827bf904d
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
- gem 'resque-pool', '~> 0.5.0'
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
@@ -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.0)
129
+ awesome_print (> 0.0)
130
+ bundler (~> 1.7)
125
131
  ffi
126
- gru
127
132
  jeweler (~> 2.0.1)
128
- mock_redis (~> 0.15.0)
129
- pry
133
+ pry (> 0.0)
130
134
  rdoc (~> 3.12)
131
- resque-pool (~> 0.5.0)
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, :version_git_hash
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.quit
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]}:#{@config.version_git_hash}"
40
+ "cluster:#{Cluster.config[:cluster_name]}:#{Cluster.config[:environment]}"
41
41
  end
42
42
 
43
43
  def member_prefix
@@ -1,5 +1,5 @@
1
1
  module Resque
2
2
  class Cluster
3
- VERSION = '0.2.2'
3
+ VERSION = '0.2.3'
4
4
  end
5
5
  end
@@ -22,9 +22,9 @@ module Resque
22
22
  original_maintain_worker_count.bind(self).call
23
23
  end
24
24
 
25
- def quit
25
+ def premature_quit
26
26
  log "Quiting ..."
27
- Process.kill(:TERM, Process.pid)
27
+ Process.kill(:QUIT, Process.pid)
28
28
  end
29
29
 
30
30
  def cluster_update
@@ -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 'mock_redis', '~> 0.15.0'
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, 'par,tar,var' => 1)
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
@@ -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.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: mock_redis
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.15.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.15.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
- - ".document"
176
- - ".gitignore"
177
- - ".rspec"
178
- - ".rubocop.yml"
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.6.6
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