daemonite 0.5.3 → 0.5.8
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 +18 -6
- 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: e7171fd2b57ae339e62582e061674b842acf8f9a27ab5af76911db78f8508888
|
4
|
+
data.tar.gz: a94b9770dfe0fc681a3f2d3949d1251cee757dafa45c6a7a4e78e54545a4f7e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2795a00b76410582129a9dabdc9340ca01dd120d12491d550bbbc16fa1300f1d9404eb3bd07b8b6a6bf40ad94c08c06f1f2dbddea2f6da6ae8473e4feef0552
|
7
|
+
data.tar.gz: 6c523afdded907f6d346908b95a7d6fed4218e1dba5ce45d96bf631afa1165bc52be9cbd2517bdbddbff18ad996607b6fb53ea4d827aef230760340139801185
|
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)
|
@@ -128,8 +129,16 @@ 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
|
+
File.unlink(opts[:basepath] + '/' + opts[:pidfile])
|
137
|
+
@at_exit.call(opts) if @at_exit
|
138
|
+
else
|
139
|
+
Process.kill "SIGTERM", pid
|
140
|
+
end
|
141
|
+
count += 1
|
133
142
|
sleep 0.3
|
134
143
|
end
|
135
144
|
end
|
@@ -147,13 +156,13 @@ module Daemonism
|
|
147
156
|
@@daemonism_restart = true
|
148
157
|
|
149
158
|
retain = $stdout.dup
|
150
|
-
Process.daemon
|
159
|
+
Process.daemon unless opts[:verbose]
|
151
160
|
retain.puts "Server #{opts[:cmdl_info].nil? ? '' : '(' + opts[:cmdl_info].to_s + ') '}started as PID:#{Process.pid}"
|
152
161
|
File.write(opts[:basepath] + '/' + opts[:pidfile],Process.pid) # after daemon, so that we get the forked pid
|
153
162
|
Dir.chdir(opts[:basepath])
|
154
163
|
::Kernel::at_exit do
|
155
164
|
File.unlink(opts[:basepath] + '/' + opts[:pidfile])
|
156
|
-
@at_exit.call if @at_exit
|
165
|
+
@at_exit.call(opts) if @at_exit
|
157
166
|
end
|
158
167
|
end
|
159
168
|
end
|
@@ -174,6 +183,9 @@ module Daemonism
|
|
174
183
|
def on_startup(&blk)
|
175
184
|
on :startup, &blk
|
176
185
|
end
|
186
|
+
def use(blk)
|
187
|
+
instance_eval(&blk)
|
188
|
+
end
|
177
189
|
alias_method :at, :on
|
178
190
|
alias_method :at_exit, :on_exit
|
179
191
|
alias_method :at_startup, :on_startup
|
@@ -193,7 +205,7 @@ class Daemonite
|
|
193
205
|
|
194
206
|
def go!
|
195
207
|
begin
|
196
|
-
@at_startup.call if @at_startup
|
208
|
+
@at_startup.call(@opts) if @at_startup
|
197
209
|
@opts[:block].call(@opts)
|
198
210
|
rescue SystemExit, Interrupt
|
199
211
|
puts "Server stopped due to interrupt (PID:#{Process.pid})"
|
@@ -204,7 +216,7 @@ class Daemonite
|
|
204
216
|
|
205
217
|
def loop!
|
206
218
|
begin
|
207
|
-
@at_startup.call if @at_startup
|
219
|
+
@at_startup.call(@opts) if @at_startup
|
208
220
|
loop do
|
209
221
|
@opts[:block].call(@opts)
|
210
222
|
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.8
|
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.
|