daemonite 0.5.5 → 0.6.0

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/daemonite.gemspec +1 -1
  3. data/lib/daemonite.rb +15 -3
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d80e2f0268b9385c864ebe15b2f0f728b2acbb3d4205115722abd3d308b0267d
4
- data.tar.gz: 5b90f90695c57d08524b5d64d4579f230faa44981abd457e4291ecf806c45629
3
+ metadata.gz: fd02605e10df3a5a47877ab9a0c1212eb565a7606cdcdee6b2339cfd628bacf8
4
+ data.tar.gz: a89cd8b6da35b87c7ac679b607bc4ae8886546402218bcbe9367d7281ffff4e8
5
5
  SHA512:
6
- metadata.gz: 4a6ad8f8b8847dee5cc599e1effc3c68fd5d595688f55cff5db9488a949acb4a176f14197d615d0cb60bd69b1d8cbf96933744085a511cd4bc0124821fcd53aa
7
- data.tar.gz: 399d6e45ecbd5055cec2f0ce6ef4a5f6bc9b478938e70523957568a843f4845a2c5d31c65c5ada3a41e92c2e54bad6725e8e766c10312664281a5aef3578c8fc
6
+ metadata.gz: f31aa4941704d843513bec86f6e4cd6049b95c853c9c65fe7b80d6ede6148be45b069fadb06ffe8be3f77f93d483bdc8da648a9f5ac980e44a525bcb78c7a76b
7
+ data.tar.gz: 17f2e8d7561787f8f2ed6ecfa95d62d3af8a4eb5e29a000413fb48ca53ce7d4bb7b45921d788c713c6ab65a23594e3bb62034b2204e2a05da7098ac0e283d664
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "daemonite"
3
- s.version = "0.5.5"
3
+ s.version = "0.6.0"
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 => 100
37
38
  }
38
39
 
39
40
  def daemonism(opts={},&block)
@@ -128,8 +129,19 @@ 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
+ if opts[:cmdl_operation] == 'stop'
139
+ Process.kill "SIGTERM", pid
140
+ else
141
+ Process.kill "SIGHUP", pid
142
+ end
143
+ end
144
+ count += 1
133
145
  sleep 0.3
134
146
  end
135
147
  end
@@ -147,7 +159,7 @@ module Daemonism
147
159
  @@daemonism_restart = true
148
160
 
149
161
  retain = $stdout.dup
150
- Process.daemon(opts[:basepath]) unless opts[:verbose]
162
+ Process.daemon unless opts[:verbose]
151
163
  retain.puts "Server #{opts[:cmdl_info].nil? ? '' : '(' + opts[:cmdl_info].to_s + ') '}started as PID:#{Process.pid}"
152
164
  File.write(opts[:basepath] + '/' + opts[:pidfile],Process.pid) # after daemon, so that we get the forked pid
153
165
  Dir.chdir(opts[:basepath])
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.5
4
+ version: 0.6.0
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: 2020-05-29 00:00:00.000000000 Z
11
+ date: 2020-10-03 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