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