daemonite 0.5.4 → 0.5.9

This diff has not been reviewed by any users.
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7bf15c0fa4ea62517072d96d7b704f3f32d73ec3e8748d2adc78fc00eb272180
4
- data.tar.gz: 15d7a4efb274e29458e5fb630d3c7660b8acc382773bfaad83176aa4861dc879
3
+ metadata.gz: dc0e44a0c6de00925ca5424245b89a85cd8d63c79c93d84892ae39d69b326373
4
+ data.tar.gz: af45d64c6a065187ef9dc55e3cd025fb56f3b32727f355485253261071d553bf
5
5
  SHA512:
6
- metadata.gz: 130d13d883e9f6fb5b91a07c252f4e4bc97597f63bd230a030357a2aa3e60ba4ccf8a69b38cfa74682cd7d1f2d92ee9319bea6a86ab0ea876af9a84a817b2a4e
7
- data.tar.gz: a81bedf2c961cdb865ea9ff9aa53e0aa2354dfbedeb4d672ad199de76a338b50fa6a92cf76299767662393301c7a6f6357f41feaa7065afdd6b9d464e782297a
6
+ metadata.gz: 62ec081eac7a40da7a5870e657e5b8f9257e145339d1b59fbf287c3e0d7c44de0bb7e86e4324fffeac858ac498824c6a974f37bb88b1a43fba92fd422c0201d7
7
+ data.tar.gz: 11696919c2c13ed8efdc6b297600224ba84a1f0e5a91def24936c3d495c195583e3f44e1ccc8237382cf9776d15005ad92891122d272ca81dcb9b8e154154e52
data/Rakefile CHANGED
@@ -1,19 +1,22 @@
1
1
  require 'rake'
2
2
  require 'rubygems/package_task'
3
- require 'rake/testtask'
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
- `rm pkg/* -rf`
10
- `ln -sf #{pkg.name}.gem pkg/daemonite.gem`
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/daemonite.gem`
17
+ `gem push pkg/#{spec.name}.gem`
15
18
  end
16
19
 
17
20
  task :install => :gem do |r|
18
- `gem install pkg/daemonite.gem`
21
+ `gem install pkg/#{spec.name}.gem`
19
22
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "daemonite"
3
- s.version = "0.5.4"
3
+ s.version = "0.5.9"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "Daemonite - Process.daemon and argparse wrapper for loopies."
@@ -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,15 @@ 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
- Process.kill "SIGTERM", pid
134
+ if count > opts[:kill_amount]
135
+ Process.kill "SIGKILL", pid
136
+ File.unlink(opts[:basepath] + '/' + opts[:pidfile])
137
+ else
138
+ Process.kill "SIGTERM", pid
139
+ end
140
+ count += 1
133
141
  sleep 0.3
134
142
  end
135
143
  end
@@ -147,7 +155,7 @@ module Daemonism
147
155
  @@daemonism_restart = true
148
156
 
149
157
  retain = $stdout.dup
150
- Process.daemon(opts[:basepath]) unless opts[:verbose]
158
+ Process.daemon unless opts[:verbose]
151
159
  retain.puts "Server #{opts[:cmdl_info].nil? ? '' : '(' + opts[:cmdl_info].to_s + ') '}started as PID:#{Process.pid}"
152
160
  File.write(opts[:basepath] + '/' + opts[:pidfile],Process.pid) # after daemon, so that we get the forked pid
153
161
  Dir.chdir(opts[:basepath])
@@ -174,6 +182,9 @@ module Daemonism
174
182
  def on_startup(&blk)
175
183
  on :startup, &blk
176
184
  end
185
+ def use(blk)
186
+ instance_eval(&blk)
187
+ end
177
188
  alias_method :at, :on
178
189
  alias_method :at_exit, :on_exit
179
190
  alias_method :at_startup, :on_startup
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
4
+ version: 0.5.9
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: 2019-05-28 00:00:00.000000000 Z
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
- rubyforge_project:
48
- rubygems_version: 2.7.6.2
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.