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