multi_daemons 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/lib/multi_daemons.rb +1 -0
- data/lib/multi_daemons/controller.rb +3 -1
- data/lib/multi_daemons/daemon.rb +5 -5
- data/lib/multi_daemons/error_reporter.rb +3 -2
- data/lib/multi_daemons/log.rb +12 -0
- data/lib/multi_daemons/pid.rb +2 -2
- data/lib/multi_daemons/validate.rb +3 -3
- data/lib/multi_daemons/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c661d969bb521fc64a44f57e040cdd71556820f501905c5fb6da286fcca1298
|
4
|
+
data.tar.gz: 8fec8e76a253f385848872b8662ddcdbfdcb975adad354d49cd6b6575fbe2ed0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 76ff8036da3b83cbfbdadde2ace06fa5636f331c72d4abaee2cc6430d44b462bd0b41dbc5c033b9b5fdf4bca9713caecf55bb104c80e8aa8293279f6faaf799f
|
7
|
+
data.tar.gz: 7eb7f3479e6bc6764f6edafb5d98ee43b834bf14e51523c28f584b49f05ab9957604d2b6e5b9c8c9919de275d0b4d1ac557ea29d26908fae5fbcb54f6683c3f8
|
data/Gemfile.lock
CHANGED
data/lib/multi_daemons.rb
CHANGED
@@ -3,6 +3,7 @@ require_relative 'multi_daemons/controller'
|
|
3
3
|
require_relative 'multi_daemons/configuration'
|
4
4
|
require_relative 'multi_daemons/daemon'
|
5
5
|
require_relative 'multi_daemons/error_reporter'
|
6
|
+
require_relative 'multi_daemons/log'
|
6
7
|
require_relative 'multi_daemons/pid_store'
|
7
8
|
require_relative 'multi_daemons/pid'
|
8
9
|
require_relative 'multi_daemons/validate'
|
@@ -8,7 +8,9 @@ module MultiDaemons
|
|
8
8
|
@options = options
|
9
9
|
unless ARGV[1].to_s.empty?
|
10
10
|
@daemons = filter_daemons(daemons)
|
11
|
-
|
11
|
+
msg = "Daemon [#{ARGV[1]}] not exist."\
|
12
|
+
" Available ones are #{daemons.map(&:name)}"
|
13
|
+
Log.log msg if @daemons.empty?
|
12
14
|
end
|
13
15
|
end
|
14
16
|
|
data/lib/multi_daemons/daemon.rb
CHANGED
@@ -22,7 +22,7 @@ module MultiDaemons
|
|
22
22
|
Kernel.exec(daemon)
|
23
23
|
end
|
24
24
|
else
|
25
|
-
|
25
|
+
Log.log 'Unsupported type'
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -32,7 +32,7 @@ module MultiDaemons
|
|
32
32
|
begin
|
33
33
|
Process.kill('TERM', pid)
|
34
34
|
rescue Errno::ESRCH => e
|
35
|
-
|
35
|
+
Log.log "#{e} #{pid}"
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
@@ -41,7 +41,7 @@ module MultiDaemons
|
|
41
41
|
Pid.force_kill(pids, options[:force_kill_timeout])
|
42
42
|
PidStore.cleanup(pid_file)
|
43
43
|
else
|
44
|
-
|
44
|
+
Log.log 'Pid file not found. Is daemon running?'
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
@@ -75,8 +75,8 @@ module MultiDaemons
|
|
75
75
|
|
76
76
|
yield if block_given?
|
77
77
|
rescue Exception => e
|
78
|
-
|
79
|
-
|
78
|
+
Log.log e.message
|
79
|
+
Log.log e.backtrace
|
80
80
|
ErrorReporter.report(e, class: self.class.name, name: name, type: type, options: options)
|
81
81
|
end
|
82
82
|
end
|
@@ -7,8 +7,9 @@ module MultiDaemons
|
|
7
7
|
begin
|
8
8
|
reporter.call(exception, self, context_hash)
|
9
9
|
rescue => inner_exception
|
10
|
-
|
11
|
-
|
10
|
+
Log.log inner_exception
|
11
|
+
backtrace = inner_exception.backtrace.join("\n")
|
12
|
+
Log.log backtrace unless inner_exception.backtrace
|
12
13
|
end
|
13
14
|
end
|
14
15
|
end
|
data/lib/multi_daemons/pid.rb
CHANGED
@@ -23,7 +23,7 @@ module MultiDaemons
|
|
23
23
|
end
|
24
24
|
true
|
25
25
|
rescue Timeout::Error
|
26
|
-
|
26
|
+
Log.log 'Force stopping processes'
|
27
27
|
pids.each do |pid|
|
28
28
|
begin
|
29
29
|
Process.kill('KILL', pid)
|
@@ -38,7 +38,7 @@ module MultiDaemons
|
|
38
38
|
end
|
39
39
|
end
|
40
40
|
rescue Timeout::Error
|
41
|
-
|
41
|
+
Log.log 'Can not stop processes'
|
42
42
|
return false
|
43
43
|
end
|
44
44
|
end
|
@@ -26,16 +26,16 @@ module MultiDaemons
|
|
26
26
|
private
|
27
27
|
|
28
28
|
def invalid_multi_daemon_option
|
29
|
-
|
29
|
+
Log.log 'Daemons are not present or invalid'
|
30
30
|
end
|
31
31
|
|
32
32
|
def daemon_name_error
|
33
|
-
|
33
|
+
Log.log 'Daemon name should not be empty'
|
34
34
|
false
|
35
35
|
end
|
36
36
|
|
37
37
|
def daemon_proc_error
|
38
|
-
|
38
|
+
Log.log 'Daemons type is proc but proc block has not been passed'
|
39
39
|
false
|
40
40
|
end
|
41
41
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: multi_daemons
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- santhanakarthikeyan
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -119,6 +119,7 @@ files:
|
|
119
119
|
- lib/multi_daemons/controller.rb
|
120
120
|
- lib/multi_daemons/daemon.rb
|
121
121
|
- lib/multi_daemons/error_reporter.rb
|
122
|
+
- lib/multi_daemons/log.rb
|
122
123
|
- lib/multi_daemons/pid.rb
|
123
124
|
- lib/multi_daemons/pid_store.rb
|
124
125
|
- lib/multi_daemons/validate.rb
|
@@ -144,8 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
145
|
- !ruby/object:Gem::Version
|
145
146
|
version: '0'
|
146
147
|
requirements: []
|
147
|
-
|
148
|
-
rubygems_version: 2.7.7
|
148
|
+
rubygems_version: 3.0.6
|
149
149
|
signing_key:
|
150
150
|
specification_version: 4
|
151
151
|
summary: MultiDaemon provides an wrapper to run multiple daemon scripts
|