pipeline_toolkit 1.2.15 → 1.2.16

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.
@@ -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