YUKI Hiroshi
null+****@clear*****
Tue Jan 6 18:55:31 JST 2015
YUKI Hiroshi 2015-01-06 18:55:31 +0900 (Tue, 06 Jan 2015) New Revision: 39bf724210b45983a67a41e6e940d97078e47bbd https://github.com/droonga/droonga-engine/commit/39bf724210b45983a67a41e6e940d97078e47bbd Message: Start and shutdown Forwarder under EngineNode correctly Modified files: lib/droonga/cluster.rb lib/droonga/engine.rb lib/droonga/engine_node.rb Modified: lib/droonga/cluster.rb (+21 -5) =================================================================== --- lib/droonga/cluster.rb 2015-01-06 18:34:52 +0900 (eaa27d5) +++ lib/droonga/cluster.rb 2015-01-06 18:55:31 +0900 (c3b2a40) @@ -33,20 +33,36 @@ module Droonga @state = nil @on_change = nil - @file_observer = FileObserver.new(loop, Path.cluster_state) - @file_observer.on_change = lambda do - reload - end - reload end def start_observe + return if @file_observer + @file_observer = FileObserver.new(@loop, Path.cluster_state) + @file_observer.on_change = lambda do + reload + end @file_observer.start end def stop_observe + return unless @file_observer @file_observer.stop + @file_observer = nil + end + + def start + engine_nodes.each do |node| + node.start + end + start_observe + end + + def shutdown + stop_observe + engine_nodes.each do |node| + node.shutdown + end end def reload Modified: lib/droonga/engine.rb (+3 -1) =================================================================== --- lib/droonga/engine.rb 2015-01-06 18:34:52 +0900 (06d4958) +++ lib/droonga/engine.rb 2015-01-06 18:55:31 +0900 (7bd284b) @@ -52,7 +52,7 @@ module Droonga @on_ready.call if @on_ready end @state.start - @cluster.start_observe + @cluster.start @node_metadata_observer.start @dispatcher.start logger.trace("start: done") @@ -66,6 +66,7 @@ module Droonga logger.trace("stop_gracefully/on_finish: start") save_last_processed_message_timestamp @dispatcher.stop_gracefully do + @cluster.shutdown @state.shutdown yield end @@ -88,6 +89,7 @@ module Droonga @cluster.stop_observe @node_metadata_observer.stop @dispatcher.stop_immediately + @cluster.shutdown @state.shutdown logger.trace("stop_immediately: done") end Modified: lib/droonga/engine_node.rb (+2 -6) =================================================================== --- lib/droonga/engine_node.rb 2015-01-06 18:34:52 +0900 (0b970ff) +++ lib/droonga/engine_node.rb 2015-01-06 18:55:31 +0900 (ed62d67) @@ -33,7 +33,8 @@ module Droonga def start logger.trace("start: start") - resume + @forwarder.start + @buffer.start_forward if really_writable? logger.trace("start: done") end @@ -43,11 +44,6 @@ module Droonga logger.trace("shutdown: done") end - def resume - @forwarder.resume - @buffer.start_forward if really_writable? - end - def forward(message, destination) if not really_writable? @buffer.add(message, destination) -------------- next part -------------- HTML����������������������������...Download