YUKI Hiroshi
null+****@clear*****
Fri Mar 20 12:11:03 JST 2015
YUKI Hiroshi 2015-03-20 12:11:03 +0900 (Fri, 20 Mar 2015) New Revision: e8a394ee6aa00200dedb489abc8dd7a8dd53f6f4 https://github.com/droonga/droonga-engine/commit/e8a394ee6aa00200dedb489abc8dd7a8dd53f6f4 Message: Start services after serf agent is correctly initiated Modified files: lib/droonga/command/droonga_engine.rb Modified: lib/droonga/command/droonga_engine.rb (+13 -25) =================================================================== --- lib/droonga/command/droonga_engine.rb 2015-03-20 11:37:15 +0900 (d8d401f) +++ lib/droonga/command/droonga_engine.rb 2015-03-20 12:11:03 +0900 (1fe797e) @@ -408,41 +408,32 @@ module Droonga def run_internal start_serf - @service_runner = run_service - setup_initial_on_ready - @restart_observer = run_restart_observer - @catalog_observer = run_catalog_observer - @command_runner = run_command_runner + @serf_agent.on_ready = lambda do + @serf.update_cluster_state + @service_runner = run_service + setup_initial_on_ready + @restart_observer = run_restart_observer + @catalog_observer = run_catalog_observer + @command_runner = run_command_runner + end trap_signals @loop.run + while @service_runner.nil? do + sleep 1 + end + @service_runner.success? end def setup_initial_on_ready return if****@confi*****_notify_fd.nil? - - n_rest_tasks = 0 - on_ready = lambda do - n_rest_tasks -= 1 - return unless n_rest_tasks.zero? - + @service_runner.on_ready = lambda do output = IO.new(@configuration.ready_notify_fd) output.puts("ready") output.close end - - n_rest_tasks += 1 - @service_runner.on_ready = lambda do - on_ready.call - end - - n_rest_tasks += 1 - @serf_agent.on_ready = lambda do - @serf.update_cluster_state - on_ready.call - end end def trap_signals @@ -525,9 +516,6 @@ module Droonga def start_serf @serf = Serf.new(@configuration.engine_name) @serf_agent =****@serf*****_agent(@loop) - @serf_agent.on_ready = lambda do - @serf.update_cluster_state - end end def stop_serf -------------- next part -------------- HTML����������������������������...Download