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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a2db74f11b3d29deb51e673e5bbb317b087da26b
4
- data.tar.gz: b40560d3d2fbc5e0781154eb509988ca2bbb93c9
3
+ metadata.gz: d5b3fa5e5c309c7e6b3f80c883c9834850b0fe97
4
+ data.tar.gz: e9db1cf4e3d1226a8e200bfabd24b52f7664ab15
5
5
  SHA512:
6
- metadata.gz: afaa74f96f030f0e521bdb8cb6948a4839772428c4bb427da62fac78a0c2bfa87aa72506080ae1c25c57b6b659f324c4c99b19b6acb8a70b52508eb69036d601
7
- data.tar.gz: a6deb6ab20852811f794d3b4f97abd3c7d6b5ab9e0aa5f3578d01bc0f3dfee9a588fed13b8c8cf95c46f1165000830d4d9a9520bb052750d360e05b883cfa231
6
+ metadata.gz: db9a13283091cd3057044a84194c418a3249b1c4854879f15ccbc06e5f2e975a9a24bd8a83c1b02122797cc9c394b60c40065a9964fc2aef31ef918d407c1485
7
+ data.tar.gz: cb0751b3a4e0cd902828833110bfd8132e4d147308e13db10b95cd3cc11970efb3afd3121cc119929d3dfe8df370f22f3dedc45559ed32da8ad7759490fdcc07
data/lib/toiler.rb CHANGED
@@ -65,6 +65,7 @@ module Toiler
65
65
  auto_visibility_timeout: false,
66
66
  concurrency: 1,
67
67
  auto_delete: false,
68
+ shutdown_timeout: 5,
68
69
  batch: false
69
70
  }
70
71
  end
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 Interrupt
37
- Toiler.logger.info 'Received Interrupt, Waiting up to 60 seconds for actors to finish...'
38
- success = supervisor.ask(:terminate!).wait(60)
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 dor Supervisor to terminate'
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 Interrupt
121
+ fail WaitShutdown, 60
122
+ when 'ABRT'
123
+ fail WaitShutdown, Toiler.options[:shutdown_timeout] * 60
113
124
  end
114
125
  end
115
126
 
@@ -1,4 +1,4 @@
1
1
  # Toiler Version
2
2
  module Toiler
3
- VERSION = '0.4.2'.freeze
3
+ VERSION = '0.4.3'.freeze
4
4
  end
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.2
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-09-19 00:00:00.000000000 Z
11
+ date: 2016-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler