pipeline_toolkit 1.2.15 → 1.2.16

Sign up to get free protection for your applications and to get access to all the features.
@@ -43,6 +43,11 @@ module PipelineToolkit
43
43
  def initialize_connection
44
44
  DefaultLogger.debug("Amqp::Abstract#initialize_connection") if options[:env] == "development"
45
45
  @connection = AMQP.connect(options.select_keys(:host, :port, :user, :pass, :vhost))
46
+
47
+ # Override Signals, so that connection is shutdown gracefully
48
+ Signal.trap('INT') { @connection.close; EM.stop }
49
+ Signal.trap('TERM') { @connection.close; EM.stop }
50
+ Signal.trap('PIPE') { @connection.close; EM.stop }
46
51
  end
47
52
 
48
53
  ##
@@ -1,18 +1,6 @@
1
1
  require 'trollop'
2
2
  require 'eventmachine'
3
3
  require 'pipeline_toolkit'
4
-
5
- Signal.trap('INT') do
6
- puts "\nStopping"
7
- exit(0)
8
- # TODO: complete signal trap interrupt
9
- end
10
-
11
- Signal.trap('TERM') do
12
- puts "\nStopping"
13
- exit(0)
14
- # TODO: complete signal trap terminate
15
- end
16
4
 
17
5
  module PipelineToolkit # :nodoc:
18
6
  module CLI
@@ -40,6 +40,7 @@ module PipelineToolkit
40
40
 
41
41
  rescue StandardError => e # rescued here because main thread does not seem to see it
42
42
  DefaultLogger.error("#{e.class.name}: #{e.message}\n" << e.backtrace.join("\n"))
43
+ raise e
43
44
  end
44
45
 
45
46
  def receive_line(message_coded)
@@ -63,6 +63,7 @@ module PipelineToolkit
63
63
 
64
64
  Signal.trap('INT') { EM.stop }
65
65
  Signal.trap('TERM') { EM.stop }
66
+ Signal.trap('PIPE') { EM.stop }
66
67
 
67
68
  begin
68
69
  EM.run do
@@ -11,6 +11,11 @@ module PipelineToolkit
11
11
  end
12
12
 
13
13
  def start
14
+
15
+ Signal.trap('INT') { puts "Stopping"; exit(0) }
16
+ Signal.trap('TERM') { puts "Stopping"; exit(0) }
17
+ Signal.trap('PIPE') { raise "Stopping, lost pipe" }
18
+
14
19
  @count = 0
15
20
  loop do
16
21
  @count += 1
@@ -50,9 +50,6 @@ module PipelineToolkit
50
50
  #
51
51
  def start
52
52
 
53
- Signal.trap('INT') { EM.stop }
54
- Signal.trap('TERM') { EM.stop }
55
-
56
53
  DefaultLogger.debug("MessageSubscriber#start")
57
54
  begin
58
55
  create_sys_pipe
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 2
8
- - 15
9
- version: 1.2.15
8
+ - 16
9
+ version: 1.2.16
10
10
  platform: ruby
11
11
  authors:
12
12
  - Aisha Fenton