[Groonga-commit] droonga/droonga-engine at 532cd0c [master] Ignore events and queries for other nodes

Back to archive index

YUKI Hiroshi null+****@clear*****
Fri Jun 27 13:11:41 JST 2014


YUKI Hiroshi	2014-06-27 13:11:41 +0900 (Fri, 27 Jun 2014)

  New Revision: 532cd0c1234eda8da450efb134bde33ac4615ef7
  https://github.com/droonga/droonga-engine/commit/532cd0c1234eda8da450efb134bde33ac4615ef7

  Message:
    Ignore events and queries for other nodes

  Modified files:
    lib/droonga/command/serf_event_handler.rb

  Modified: lib/droonga/command/serf_event_handler.rb (+13 -4)
===================================================================
--- lib/droonga/command/serf_event_handler.rb    2014-06-27 12:14:27 +0900 (f563a89)
+++ lib/droonga/command/serf_event_handler.rb    2014-06-27 13:11:41 +0900 (a1f18d5)
@@ -35,12 +35,14 @@ module Droonga
         @serf = ENV["SERF"] || Serf.path
         @serf_port = ENV["SERF_PORT"] || Serf.default_port
         @serf_rpc_address = ENV["SERF_RPC_ADDRESS"] || "127.0.0.1:#{@serf_port}"
+        @serf_name = ENV["SERF_SELF_NAME"]
       end
 
       def run
         parse_event
-        process_event
+        return true unless event_for_me?
 
+        process_event
         output_live_nodes
         true
       end
@@ -52,17 +54,24 @@ module Droonga
         case @event_name
         when "user"
           @event_name += ":#{ENV["SERF_USER_EVENT"]}"
-          @payload = $stdin.gets
+          @payload = JSON.parse($stdin.gets)
         when "query"
           @event_name += ":#{ENV["SERF_USER_QUERY"]}"
-          @payload = $stdin.gets
+          @payload = JSON.parse($stdin.gets)
         end
       end
 
+      def event_for_me?
+        return true unless @payload
+        return true unless @payload["node"]
+
+        @payload["node"] == @serf_name
+      end
+
       def process_event
         if @event_name == "user:change_port" or
            @event_name == "query:change_port"
-          serf_port =****@paylo*****_i
+          serf_port = @payload["port"]
           output_port_file(serf_port)
         end
       end
-------------- next part --------------
HTML����������������������������...
下载 



More information about the Groonga-commit mailing list
Back to archive index