datacenter 0.1.2 → 0.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/.ruby-version +1 -1
- data/.travis.yml +1 -0
- data/datacenter.gemspec +1 -0
- data/lib/datacenter/process.rb +5 -12
- data/lib/datacenter/version.rb +1 -1
- data/lib/datacenter.rb +7 -0
- data/spec/commands.yml +5 -3
- data/spec/minitest_helper.rb +0 -16
- data/spec/process_spec.rb +2 -2
- metadata +38 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 639f19a32af94539eff49e4d60bb416ac5e5366b
|
4
|
+
data.tar.gz: f64487b04b2433088d96a99e56aedba41d0e5c33
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9e64261f9c76232c11b0fa84d2222dad389f1211d3d0bdca52299b57ef77118f3db648beb332d4b6b2059a33dca5c9d06028dfbe1ac648a68e84f2798263c88
|
7
|
+
data.tar.gz: 15eeae879c23dbfdd764e59ad7f42d8f5c26d859ad76f7ceced266a32f355fa6f43bfd754f50bfcad8b3d11a31b5598d306f2906154168f1fa1b31f3eea4da3e
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby 2.
|
1
|
+
ruby 2.0
|
data/.travis.yml
CHANGED
data/datacenter.gemspec
CHANGED
data/lib/datacenter/process.rb
CHANGED
@@ -30,26 +30,19 @@ module Datacenter
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def alive?
|
33
|
-
shell.run("
|
33
|
+
alive = !shell.run("ps -p #{pid} | grep #{pid}").empty?
|
34
|
+
Datacenter.logger.debug(self.class) { "pid: #{pid} - ALIVE: #{alive}" } if !alive
|
35
|
+
alive
|
34
36
|
end
|
35
37
|
|
36
|
-
def
|
37
|
-
|
38
|
-
end
|
39
|
-
|
40
|
-
def kill
|
41
|
-
send_signal :KILL if alive?
|
42
|
-
while alive?; end
|
38
|
+
def send_signal(signal)
|
39
|
+
shell.run "kill -s #{signal} #{pid}"
|
43
40
|
end
|
44
41
|
|
45
42
|
private
|
46
43
|
|
47
44
|
attr_reader :shell
|
48
45
|
|
49
|
-
def send_signal(signal)
|
50
|
-
shell.run "kill -s #{signal} #{pid}"
|
51
|
-
end
|
52
|
-
|
53
46
|
def info
|
54
47
|
@cache.fetch(:info) do
|
55
48
|
ps = shell.run('ps aux').scan(/.*#{pid}.*/)[0].split
|
data/lib/datacenter/version.rb
CHANGED
data/lib/datacenter.rb
CHANGED
@@ -1,4 +1,11 @@
|
|
1
1
|
require 'net/ssh'
|
2
2
|
require 'open3'
|
3
|
+
require 'class_config'
|
4
|
+
require 'logger'
|
5
|
+
|
6
|
+
module Datacenter
|
7
|
+
extend ClassConfig
|
8
|
+
attr_config :logger, Logger.new('/dev/null')
|
9
|
+
end
|
3
10
|
|
4
11
|
Dir.glob(File.expand_path('datacenter/*.rb', File.dirname(__FILE__))).sort.each { |f| require f }
|
data/spec/commands.yml
CHANGED
@@ -1,8 +1,10 @@
|
|
1
|
-
"
|
1
|
+
"ps -p 22803 | grep 22803": "22803"
|
2
2
|
|
3
|
-
"
|
3
|
+
"ps -p -22803 | grep -22803": ""
|
4
4
|
|
5
|
-
"kill -s QUIT 22803":
|
5
|
+
"kill -s QUIT 22803": 'quit success'
|
6
|
+
|
7
|
+
"kill -s KILL 22803": 'kill success'
|
6
8
|
|
7
9
|
"uname -i": x86_64
|
8
10
|
|
data/spec/minitest_helper.rb
CHANGED
@@ -38,22 +38,6 @@ module Datacenter
|
|
38
38
|
|
39
39
|
end
|
40
40
|
|
41
|
-
class Kill
|
42
|
-
def initialize(pid)
|
43
|
-
@pid = pid
|
44
|
-
end
|
45
|
-
|
46
|
-
def run(command)
|
47
|
-
if command == "kill -s 0 #{@pid}"
|
48
|
-
''
|
49
|
-
elsif command == "kill -s KILL #{@pid}"
|
50
|
-
@pid = nil
|
51
|
-
''
|
52
|
-
else
|
53
|
-
'kill: No such process'
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
41
|
end
|
58
42
|
end
|
59
43
|
|
data/spec/process_spec.rb
CHANGED
@@ -11,9 +11,9 @@ describe Datacenter::Process do
|
|
11
11
|
|
12
12
|
it ('Dead') { Datacenter::Process.new(-pid, mock_shell).wont_be :alive? }
|
13
13
|
|
14
|
-
it ('
|
14
|
+
it ('Quit') { process.send_signal(:QUIT).must_equal 'quit success' }
|
15
15
|
|
16
|
-
it ('Kill') {
|
16
|
+
it ('Kill') { process.send_signal(:KILL).must_equal 'kill success' }
|
17
17
|
|
18
18
|
it ('Name') { process.name.must_equal 'gnome-system-mo' }
|
19
19
|
|
metadata
CHANGED
@@ -1,111 +1,125 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datacenter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gabriel Naiman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-ssh
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: class_config
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
25
39
|
- !ruby/object:Gem::Version
|
26
40
|
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- -
|
45
|
+
- - ~>
|
32
46
|
- !ruby/object:Gem::Version
|
33
47
|
version: '1.3'
|
34
48
|
type: :development
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
|
-
- -
|
52
|
+
- - ~>
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '1.3'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rake
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- -
|
59
|
+
- - '>='
|
46
60
|
- !ruby/object:Gem::Version
|
47
61
|
version: '0'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
|
-
- -
|
66
|
+
- - '>='
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: minitest
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- -
|
73
|
+
- - ~>
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '4.7'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- -
|
80
|
+
- - ~>
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '4.7'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: turn
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ~>
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: '0.9'
|
76
90
|
type: :development
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - ~>
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0.9'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: simplecov
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
|
-
- -
|
101
|
+
- - '>='
|
88
102
|
- !ruby/object:Gem::Version
|
89
103
|
version: '0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
|
-
- -
|
108
|
+
- - '>='
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: pry-nav
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
|
-
- -
|
115
|
+
- - '>='
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '0'
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
|
-
- -
|
122
|
+
- - '>='
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
111
125
|
description: Manage and monitor servers and processes
|
@@ -115,11 +129,11 @@ executables: []
|
|
115
129
|
extensions: []
|
116
130
|
extra_rdoc_files: []
|
117
131
|
files:
|
118
|
-
-
|
119
|
-
-
|
120
|
-
-
|
121
|
-
-
|
122
|
-
-
|
132
|
+
- .coveralls.yml
|
133
|
+
- .gitignore
|
134
|
+
- .ruby-gemset
|
135
|
+
- .ruby-version
|
136
|
+
- .travis.yml
|
123
137
|
- Gemfile
|
124
138
|
- LICENSE.txt
|
125
139
|
- README.md
|
@@ -150,17 +164,17 @@ require_paths:
|
|
150
164
|
- lib
|
151
165
|
required_ruby_version: !ruby/object:Gem::Requirement
|
152
166
|
requirements:
|
153
|
-
- -
|
167
|
+
- - '>='
|
154
168
|
- !ruby/object:Gem::Version
|
155
169
|
version: '0'
|
156
170
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
171
|
requirements:
|
158
|
-
- -
|
172
|
+
- - '>='
|
159
173
|
- !ruby/object:Gem::Version
|
160
174
|
version: '0'
|
161
175
|
requirements: []
|
162
176
|
rubyforge_project:
|
163
|
-
rubygems_version: 2.
|
177
|
+
rubygems_version: 2.4.3
|
164
178
|
signing_key:
|
165
179
|
specification_version: 4
|
166
180
|
summary: Manage and monitor servers and processes
|