toiler 0.4.2 → 0.4.3
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/lib/toiler.rb +1 -0
- data/lib/toiler/cli.rb +17 -6
- data/lib/toiler/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d5b3fa5e5c309c7e6b3f80c883c9834850b0fe97
|
4
|
+
data.tar.gz: e9db1cf4e3d1226a8e200bfabd24b52f7664ab15
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db9a13283091cd3057044a84194c418a3249b1c4854879f15ccbc06e5f2e975a9a24bd8a83c1b02122797cc9c394b60c40065a9964fc2aef31ef918d407c1485
|
7
|
+
data.tar.gz: cb0751b3a4e0cd902828833110bfd8132e4d147308e13db10b95cd3cc11970efb3afd3121cc119929d3dfe8df370f22f3dedc45559ed32da8ad7759490fdcc07
|
data/lib/toiler.rb
CHANGED
data/lib/toiler/cli.rb
CHANGED
@@ -7,6 +7,15 @@ module Toiler
|
|
7
7
|
# See: https://github.com/mperham/sidekiq/blob/33f5d6b2b6c0dfaab11e5d39688cab7ebadc83ae/lib/sidekiq/cli.rb#L20
|
8
8
|
class Shutdown < Interrupt; end
|
9
9
|
|
10
|
+
class WaitShutdown < Interrupt
|
11
|
+
attr_accessor :wait
|
12
|
+
|
13
|
+
def initialize(wait)
|
14
|
+
super
|
15
|
+
@wait = wait
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
10
19
|
# Command line client interface
|
11
20
|
class CLI
|
12
21
|
include Singleton
|
@@ -33,13 +42,13 @@ module Toiler
|
|
33
42
|
while (readable_io = IO.select([@self_read]))
|
34
43
|
handle_signal(readable_io.first[0].gets.strip)
|
35
44
|
end
|
36
|
-
rescue
|
37
|
-
Toiler.logger.info
|
38
|
-
success = supervisor.ask(:terminate!).wait(
|
45
|
+
rescue WaitShutdown => shutdown_error
|
46
|
+
Toiler.logger.info "Received Interrupt, Waiting up to #{shutdown_error.wait} seconds for actors to finish..."
|
47
|
+
success = supervisor.ask(:terminate!).wait(shutdown_error.wait)
|
39
48
|
if success
|
40
49
|
Toiler.logger.info 'Supervisor successfully terminated'
|
41
50
|
else
|
42
|
-
Toiler.logger.info 'Timeout waiting
|
51
|
+
Toiler.logger.info 'Timeout waiting for Supervisor to terminate'
|
43
52
|
end
|
44
53
|
ensure
|
45
54
|
exit 0
|
@@ -58,7 +67,7 @@ module Toiler
|
|
58
67
|
end
|
59
68
|
|
60
69
|
def trap_signals
|
61
|
-
%w(INT TERM QUIT USR1 USR2 TTIN).each do |sig|
|
70
|
+
%w(INT TERM QUIT USR1 USR2 TTIN ABRT).each do |sig|
|
62
71
|
begin
|
63
72
|
trap sig do
|
64
73
|
@self_write.puts(sig)
|
@@ -109,7 +118,9 @@ module Toiler
|
|
109
118
|
print_stacktraces
|
110
119
|
print_status
|
111
120
|
when 'INT', 'TERM'
|
112
|
-
fail
|
121
|
+
fail WaitShutdown, 60
|
122
|
+
when 'ABRT'
|
123
|
+
fail WaitShutdown, Toiler.options[:shutdown_timeout] * 60
|
113
124
|
end
|
114
125
|
end
|
115
126
|
|
data/lib/toiler/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: toiler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastian Schepens
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|