daemonite 0.5.2 → 0.5.7
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/Rakefile +8 -5
- data/daemonite.gemspec +1 -1
- data/lib/daemonite.rb +17 -7
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 62d8dd46ec738b5e6b246c86ceead1b03682b1579dd40a44048dbb316694bc5f
|
4
|
+
data.tar.gz: 3f25d52e80286edc9f6957b437edb53dcbe74deba57482237700358a2d801305
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20c8c017f7f846fad18be36e40a2b5f32f2b285ed5fad2e83aa675756bcb0f0c55935e1ef04b15cda50b1283037e46d6903bc12519d21cbfbf0f1111c60b7ec3
|
7
|
+
data.tar.gz: 78a442b97feaa7d013fb4c46f8ded4264cffb199f0c5b9a55ad5470936e52a16bf8870678cf9d5361060b169ddb03cfea1ea8830b8541c351d578097c12b271a
|
data/Rakefile
CHANGED
@@ -1,19 +1,22 @@
|
|
1
1
|
require 'rake'
|
2
2
|
require 'rubygems/package_task'
|
3
|
-
require '
|
3
|
+
require 'fileutils'
|
4
4
|
|
5
5
|
spec = eval(File.read('daemonite.gemspec'))
|
6
6
|
Gem::PackageTask.new(spec) do |pkg|
|
7
7
|
pkg.need_zip = true
|
8
8
|
pkg.need_tar = true
|
9
|
-
|
10
|
-
|
9
|
+
FileUtils.mkdir 'pkg' rescue nil
|
10
|
+
FileUtils.rm_rf Dir.glob('pkg/*')
|
11
|
+
FileUtils.ln_sf "#{pkg.name}.gem", "pkg/#{spec.name}.gem"
|
11
12
|
end
|
12
13
|
|
14
|
+
task :default => :gem
|
15
|
+
|
13
16
|
task :push => :gem do |r|
|
14
|
-
`gem push pkg
|
17
|
+
`gem push pkg/#{spec.name}.gem`
|
15
18
|
end
|
16
19
|
|
17
20
|
task :install => :gem do |r|
|
18
|
-
`gem install pkg
|
21
|
+
`gem install pkg/#{spec.name}.gem`
|
19
22
|
end
|
data/daemonite.gemspec
CHANGED
data/lib/daemonite.rb
CHANGED
@@ -33,7 +33,8 @@ module Daemonism
|
|
33
33
|
:runtime_proc => nil,
|
34
34
|
:cmdl_info => nil,
|
35
35
|
:cmdl_parsing => true,
|
36
|
-
:cmdl_operation => 'start'
|
36
|
+
:cmdl_operation => 'start',
|
37
|
+
:kill_amount => 1000
|
37
38
|
}
|
38
39
|
|
39
40
|
def daemonism(opts={},&block)
|
@@ -74,7 +75,7 @@ module Daemonism
|
|
74
75
|
opt.parse!
|
75
76
|
}
|
76
77
|
|
77
|
-
unless (%w{start stop restart} + opts[:runtime_cmds].map{|ro| ro[0] }).include?(ARGV[0])
|
78
|
+
unless (%w{start stop restart info} + opts[:runtime_cmds].map{|ro| ro[0] }).include?(ARGV[0])
|
78
79
|
puts ARGV.options
|
79
80
|
::Kernel::exit
|
80
81
|
end
|
@@ -128,8 +129,14 @@ module Daemonism
|
|
128
129
|
else
|
129
130
|
puts "Server #{opts[:cmdl_info].nil? ? '' : '(' + opts[:cmdl_info].to_s + ') '}stopped"
|
130
131
|
puts "Waiting while server goes down ..."
|
132
|
+
count = 0
|
131
133
|
while status.call
|
132
|
-
|
134
|
+
if count > opts[:kill_amount]
|
135
|
+
Process.kill "SIGKILL", pid
|
136
|
+
else
|
137
|
+
Process.kill "SIGTERM", pid
|
138
|
+
end
|
139
|
+
count += 1
|
133
140
|
sleep 0.3
|
134
141
|
end
|
135
142
|
end
|
@@ -147,13 +154,13 @@ module Daemonism
|
|
147
154
|
@@daemonism_restart = true
|
148
155
|
|
149
156
|
retain = $stdout.dup
|
150
|
-
Process.daemon
|
157
|
+
Process.daemon unless opts[:verbose]
|
151
158
|
retain.puts "Server #{opts[:cmdl_info].nil? ? '' : '(' + opts[:cmdl_info].to_s + ') '}started as PID:#{Process.pid}"
|
152
159
|
File.write(opts[:basepath] + '/' + opts[:pidfile],Process.pid) # after daemon, so that we get the forked pid
|
153
160
|
Dir.chdir(opts[:basepath])
|
154
161
|
::Kernel::at_exit do
|
155
162
|
File.unlink(opts[:basepath] + '/' + opts[:pidfile])
|
156
|
-
@at_exit.call if @at_exit
|
163
|
+
@at_exit.call(opts) if @at_exit
|
157
164
|
end
|
158
165
|
end
|
159
166
|
end
|
@@ -174,6 +181,9 @@ module Daemonism
|
|
174
181
|
def on_startup(&blk)
|
175
182
|
on :startup, &blk
|
176
183
|
end
|
184
|
+
def use(blk)
|
185
|
+
instance_eval(&blk)
|
186
|
+
end
|
177
187
|
alias_method :at, :on
|
178
188
|
alias_method :at_exit, :on_exit
|
179
189
|
alias_method :at_startup, :on_startup
|
@@ -193,7 +203,7 @@ class Daemonite
|
|
193
203
|
|
194
204
|
def go!
|
195
205
|
begin
|
196
|
-
@at_startup.call if @at_startup
|
206
|
+
@at_startup.call(@opts) if @at_startup
|
197
207
|
@opts[:block].call(@opts)
|
198
208
|
rescue SystemExit, Interrupt
|
199
209
|
puts "Server stopped due to interrupt (PID:#{Process.pid})"
|
@@ -204,7 +214,7 @@ class Daemonite
|
|
204
214
|
|
205
215
|
def loop!
|
206
216
|
begin
|
207
|
-
@at_startup.call if @at_startup
|
217
|
+
@at_startup.call(@opts) if @at_startup
|
208
218
|
loop do
|
209
219
|
@opts[:block].call(@opts)
|
210
220
|
end unless @opts[:block].nil?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: daemonite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juergen eTM Mangler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Daemonite - Process.daemon and argparse wrapper for loopies.
|
14
14
|
email: juergen.mangler@gmail.com
|
@@ -44,8 +44,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
46
|
requirements: []
|
47
|
-
|
48
|
-
rubygems_version: 2.7.6
|
47
|
+
rubygems_version: 3.1.2
|
49
48
|
signing_key:
|
50
49
|
specification_version: 4
|
51
50
|
summary: Daemonite - Process.daemon and argparse wrapper for loopies.
|