Kouhei Sutou
null+****@clear*****
Mon Jul 21 20:07:13 JST 2014
Kouhei Sutou 2014-07-21 20:07:13 +0900 (Mon, 21 Jul 2014) New Revision: 53575e7d81fa30c29858b29b849d8061df79ee9b https://github.com/droonga/droonga-engine/commit/53575e7d81fa30c29858b29b849d8061df79ee9b Message: Implement graceful stop Modified files: lib/droonga/command/droonga_engine_service.rb lib/droonga/fluent_message_receiver.rb lib/droonga/internal_fluent_message_receiver.rb Modified: lib/droonga/command/droonga_engine_service.rb (+2 -8) =================================================================== --- lib/droonga/command/droonga_engine_service.rb 2014-07-21 19:52:01 +0900 (ff5c19f) +++ lib/droonga/command/droonga_engine_service.rb 2014-07-21 20:07:13 +0900 (b9c50d6) @@ -151,12 +151,6 @@ module Droonga @receiver.start end - def shutdown_receiver - return if****@recei*****? - @receiver, receiver = nil, @receiver - receiver.shutdown - end - def run_worker_process_agent input = IO.new(@control_read_fd) @control_read_fd = nil @@ -211,7 +205,7 @@ module Droonga def stop_gracefully return if @stopping @stopping = true - shutdown_receiver + @receiver.stop_gracefully @engine.stop_gracefully do shutdown_worker_process_agent shutdown_internal_message_receiver @@ -221,7 +215,7 @@ module Droonga # It may be called after stop_gracefully. def stop_immediately shutdown_worker_process_agent - shutdown_receiver if @receiver + @receiver.stop_immediately shutdown_internal_message_receiver @engine.stop_immediately @loop.stop Modified: lib/droonga/fluent_message_receiver.rb (+10 -4) =================================================================== --- lib/droonga/fluent_message_receiver.rb 2014-07-21 19:52:01 +0900 (3dfec66) +++ lib/droonga/fluent_message_receiver.rb 2014-07-21 20:07:13 +0900 (2dffadc) @@ -40,12 +40,18 @@ module Droonga logger.trace("start: done") end - def shutdown - logger.trace("shutdown: start") + def stop_gracefully + logger.trace("stop_gracefully: start") + shutdown_heartbeat_receiver shutdown_server + logger.trace("stop_gracefully: done") + end + + def stop_immediately + logger.trace("stop_immediately: start") + stop_gracefully shutdown_clients - shutdown_heartbeat_receiver - logger.trace("shutdown: done") + logger.trace("stop_immediately: done") end private Modified: lib/droonga/internal_fluent_message_receiver.rb (+2 -1) =================================================================== --- lib/droonga/internal_fluent_message_receiver.rb 2014-07-21 19:52:01 +0900 (b005767) +++ lib/droonga/internal_fluent_message_receiver.rb 2014-07-21 20:07:13 +0900 (81db5ef) @@ -87,9 +87,10 @@ module Droonga logger.trace("start_heartbeat_socket: done") end + # TODO: Use stop_gracefully/stop_immediately interface def shutdown_message_receiver logger.trace("shutdown_message_receiver: start") - @message_receiver.shutdown + @message_receiver.stop_immediately logger.trace("shutdown_message_receiver: done") end -------------- next part -------------- HTML����������������������������... Download