lib/dispatch-rider/demultiplexer.rb in dispatch-rider-1.2.8 vs lib/dispatch-rider/demultiplexer.rb in dispatch-rider-1.2.9

- old
+ new

@@ -10,10 +10,12 @@ def initialize(queue, dispatcher, error_handler) @queue = queue @dispatcher = dispatcher @error_handler = error_handler @continue = true + @current_message = nil + install_term_trap end def start do_loop do begin @@ -30,11 +32,25 @@ @continue = false end private + def install_term_trap + SignalTools.append_trap('TERM') do + logger.info "Got SIGTERM while executing: #{message_info_fragment(@current_message)}" + end + end + + def with_current_message(message) + @current_message = message + yield + @current_message = nil + end + def dispatch_message(message) - dispatcher.dispatch(message) + with_current_message(message) do + dispatcher.dispatch(message) + end rescue => exception handle_message_error message, exception false end