YUKI Hiroshi
null+****@clear*****
Fri Mar 20 16:46:10 JST 2015
YUKI Hiroshi 2015-03-20 16:46:10 +0900 (Fri, 20 Mar 2015) New Revision: 4fdf5524e36b790eb0c6f6470a14d364dca73d4d https://github.com/droonga/droonga-engine/commit/4fdf5524e36b790eb0c6f6470a14d364dca73d4d Message: Restart service if state of the node itself is changed Modified files: lib/droonga/cluster.rb lib/droonga/engine.rb Modified: lib/droonga/cluster.rb (+15 -1) =================================================================== --- lib/droonga/cluster.rb 2015-03-20 16:31:39 +0900 (e6183a5) +++ lib/droonga/cluster.rb 2015-03-20 16:46:10 +0900 (41f0855) @@ -19,6 +19,7 @@ require "droonga/path" require "droonga/file_observer" require "droonga/engine_node" require "droonga/node_metadata" +require "droonga/restarter" module Droonga class Cluster @@ -33,6 +34,7 @@ module Droonga def initialize(loop, params) @loop = loop + @my_name = params[:my_name] @catalog = params[:catalog] @state = nil @node_metadata = params[:metadata] @@ -44,7 +46,7 @@ module Droonga return if @file_observer @file_observer = FileObserver.new(@loop, Path.cluster_state) @file_observer.on_change = lambda do - reload + on_state_change end @file_observer.start end @@ -161,6 +163,18 @@ module Droonga end end + def on_state_change + unles****@state*****? + old_state =****@state***** + new_state = load_state_file + if old_state[@my_name] != new_state[@my_name] + Restarter.restart + return + end + end + reload + end + def default_state {} end Modified: lib/droonga/engine.rb (+1 -0) =================================================================== --- lib/droonga/engine.rb 2015-03-20 16:31:39 +0900 (9576219) +++ lib/droonga/engine.rb 2015-03-20 16:46:10 +0900 (33eb031) @@ -40,6 +40,7 @@ module Droonga :catalog => @catalog, :metadata => @node_metadata) @cluster = Cluster.new(loop, + :my_name => internal_name, :catalog => @catalog, :metadata => @node_metadata) -------------- next part -------------- HTML����������������������������...Download