daemonite 0.5.2 → 0.5.7
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|