multi_daemons 1.0.0 → 1.0.1
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/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
|