luban 0.8.2 → 0.8.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: fe10788dd7bf5d0a4fa2d6897abe9a9a33394bee
4
- data.tar.gz: e04302dfd6fef080f12561301412907eb95948d6
3
+ metadata.gz: a1386501b0b0e2a9483089453c5c009650655097
4
+ data.tar.gz: fa8b1ffbe8e0e553d5b9e0f8f4ddae622b334b25
5
5
  SHA512:
6
- metadata.gz: 357b44b3e16fcfea252efeacb6ac64bb12551ba6ee7c5b30ac33642590ac3cff514651d93ee2d959ec1846f09ab156aa78602e4f8c91a44376e5475e9bca0e1f
7
- data.tar.gz: 0d7e5fc262a6e3eb81a11e346013c8b218f91ae97312411ac3487f1a75161b4cc9f711380c9ef3bf547aa671f31d9232a018ffa930eedff9ce7cca90eac3f1bf
6
+ metadata.gz: 5ee4acb1e7cd29517bbedef6c53db64e1d8ec84712427779287974178b53658dd96df0fb3e600fef79c29f78d42d4c1ae2e64a17f522c648e1f04b15be2f59f9
7
+ data.tar.gz: 169b0790ec7a43078499ae14d1e73c153625a0d6b31cebedd950456baa54836599b8607a81295287f1a723d950a2b53a9d9fcaf3dd10477ab399f0e252850e14
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Change log
2
2
 
3
+ ## Version 0.8.3 (Sept 21, 2016)
4
+
5
+ Minor enhancements:
6
+ * Simplified process_monitor settings
7
+ * Checked if process is monitorable before any monitoring related operations
8
+ * thru convenient method #process_monitorable?
9
+ * Added control file for process monitor
10
+ * Used #include instead of #prepend when loading monitoring public commands
11
+
3
12
  ## Version 0.8.2 (Sept 20, 2016)
4
13
 
5
14
  Minor enhancements:
@@ -104,8 +104,7 @@ module Luban
104
104
  def process_monitor_via(monitor, env: "uber/lubmon")
105
105
  monitor = monitor.to_s.downcase
106
106
  env = "#{stage}.#{env.to_s.downcase}"
107
- process_monitor name: monitor, env: env,
108
- service_entry: "#{env.gsub('/', '.')}.#{monitor}"
107
+ process_monitor name: monitor, env: env
109
108
  end
110
109
 
111
110
  protected
@@ -33,12 +33,26 @@ module Luban
33
33
  end
34
34
  end
35
35
 
36
+ def process_monitorable?
37
+ process_monitor_defined? and !process_monitor?
38
+ end
39
+
40
+ def process_monitor_defined?
41
+ !process_monitor[:name].nil?
42
+ end
43
+
36
44
  def process_monitor?
37
- service_entry == process_monitor[:service_entry]
45
+ env_name == process_monitor[:env]
38
46
  end
39
47
 
40
48
  def monitor_executable
41
- @monitor_executable ||= env_path.join(process_monitor[:env], 'bin', process_monitor[:name])
49
+ @monitor_executable ||= env_path.join(process_monitor[:env], 'bin',
50
+ process_monitor[:name])
51
+ end
52
+
53
+ def monitor_control_file_path
54
+ @monitor_control_file_path ||= env_path.join(process_monitor[:env], 'shared', 'profile',
55
+ process_monitor[:name], monitor_control_file_name)
42
56
  end
43
57
 
44
58
  def start_process
@@ -50,7 +64,10 @@ module Luban
50
64
  output = start_process!
51
65
  if check_until { process_started? }
52
66
  update_result "Start #{service_full_name}: [OK] #{output}"
53
- monitor_process unless process_monitor?
67
+ if process_monitorable?
68
+ reload_monitor_process
69
+ monitor_process
70
+ end
54
71
  else
55
72
  remove_orphaned_pid_file
56
73
  update_result "Start #{service_full_name}: [FAILED] #{output}",
@@ -64,7 +81,7 @@ module Luban
64
81
  return
65
82
  end
66
83
 
67
- unmonitor_process unless process_monitor?
84
+ unmonitor_process if process_monitorable?
68
85
  output = stop_process! || 'OK'
69
86
  if check_until { process_stopped? }
70
87
  update_result "Stop #{service_full_name}: [OK] #{output}"
@@ -77,7 +94,7 @@ module Luban
77
94
 
78
95
  def restart_process
79
96
  if process_started?
80
- unmonitor_process unless process_monitor?
97
+ unmonitor_process if process_monitorable?
81
98
  output = stop_process!
82
99
  if check_until { process_stopped? }
83
100
  remove_orphaned_pid_file
@@ -93,7 +110,7 @@ module Luban
93
110
  output = start_process!
94
111
  if check_until { process_started? }
95
112
  update_result "Restart #{service_full_name}: [OK] #{output}"
96
- monitor_process unless process_monitor?
113
+ monitor_process if process_monitorable?
97
114
  else
98
115
  remove_orphaned_pid_file
99
116
  update_result "Restart #{service_full_name}: [FAILED] #{output}",
@@ -115,7 +132,7 @@ module Luban
115
132
  return
116
133
  end
117
134
 
118
- unmonitor_process unless process_monitor?
135
+ unmonitor_process if process_monitorable?
119
136
  output = kill_process!
120
137
  if check_until { process_stopped? }
121
138
  update_result "Kill #{service_full_name}: [OK] #{output}"
@@ -125,37 +142,27 @@ module Luban
125
142
  remove_orphaned_pid_file
126
143
  end
127
144
 
128
- def process_monitor_defined?
129
- !process_monitor[:name].nil?
130
- end
131
-
132
145
  def monitor_process
133
- if process_monitor_defined?
134
- if monitor_process!
135
- info "Turned on process monitor for #{service_entry}"
136
- else
137
- info "Failed to turn on process monitor for #{service_entry}"
138
- end
146
+ if monitor_process!
147
+ info "Turned on process monitor for #{service_entry}"
148
+ else
149
+ info "Failed to turn on process monitor for #{service_entry}"
139
150
  end
140
151
  end
141
152
 
142
153
  def unmonitor_process
143
- if process_monitor_defined?
144
- if unmonitor_process!
145
- info "Turned off process monitor for #{service_entry}"
146
- else
147
- info "Failed to turn off process monitor for #{service_entry}"
148
- end
154
+ if unmonitor_process!
155
+ info "Turned off process monitor for #{service_entry}"
156
+ else
157
+ info "Failed to turn off process monitor for #{service_entry}"
149
158
  end
150
159
  end
151
160
 
152
161
  def reload_monitor_process
153
- if process_monitor_defined?
154
- if reload_monitor_process!
155
- info "Reloaded process monitor for #{service_entry}"
156
- else
157
- info "Failed to reload process monitor for #{service_entry}"
158
- end
162
+ if reload_monitor_process!
163
+ info "Reloaded process monitor for #{service_entry}"
164
+ else
165
+ info "Failed to reload process monitor for #{service_entry}"
159
166
  end
160
167
  end
161
168
 
@@ -164,16 +171,12 @@ module Luban
164
171
 
165
172
  protected
166
173
 
167
- def before_start_process
168
- reload_monitor_process unless process_monitor?
169
- end
170
-
171
174
  def init
172
- load_process_monitor_commands
175
+ load_process_monitor_commands if process_monitorable?
173
176
  end
174
177
 
175
178
  def load_process_monitor_commands
176
- singleton_class.send(:prepend,
179
+ singleton_class.send(:include,
177
180
  process_monitor_module.const_get("Controller::Commands::Public"))
178
181
  end
179
182
 
@@ -1,5 +1,5 @@
1
1
  module Luban
2
2
  module Deployment
3
- VERSION = "0.8.2"
3
+ VERSION = "0.8.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: luban
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rubyist Lei
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-20 00:00:00.000000000 Z
11
+ date: 2016-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: luban-cli