YUKI Hiroshi
null+****@clear*****
Tue Jan 6 20:03:21 JST 2015
YUKI Hiroshi 2015-01-06 20:03:21 +0900 (Tue, 06 Jan 2015) New Revision: 0ce7d61f4de72fe19db1fab6999fe838b9ca9cfa https://github.com/droonga/droonga-engine/commit/0ce7d61f4de72fe19db1fab6999fe838b9ca9cfa Message: Detect message tag Modified files: lib/droonga/engine_node.rb Modified: lib/droonga/engine_node.rb (+17 -8) =================================================================== --- lib/droonga/engine_node.rb 2015-01-06 19:54:01 +0900 (7806d53) +++ lib/droonga/engine_node.rb 2015-01-06 20:03:21 +0900 (2dbd6ea) @@ -28,13 +28,10 @@ module Droonga @state = state @sender_role = sender_role - unless @name =~ /\A(.*):(\d+)\/([^.]+)\z/ - raise "name format: hostname:port/tag" - end - host = $1 - port = $2 - tag = $3 - @sender = FluentMessageSender.new(loop, host, port, + parsed_name = parse_node_name(@name) + @sender = FluentMessageSender.new(loop, + parsed_name[:host], + parsed_name[:port], :buffering => true) @sender.start end @@ -88,6 +85,17 @@ module Droonga end private + def parse_node_name(name) + unless name =~ /\A(.*):(\d+)\/([^.]+)\z/ + raise "name format: hostname:port/tag" + end + { + :host => $1, + :port => $2, + :tag => $3, + } + end + def role if @state @state["role"] @@ -120,13 +128,14 @@ module Droonga command = destination["type"] receiver = destination["to"] arguments = destination["arguments"] + parsed_receiver = parse_node_name(receiver) override_message = { "type" => command, } override_message["arguments"] = arguments if arguments message = message.merge(override_message) - output_tag = "#{tag}.message" + output_tag = "#{parsed_receiver[:tag]}.message" log_info = "<#{receiver}>:<#{output_tag}>" logger.trace("forward: start: #{log_info}") @sender.send(output_tag, message) -------------- next part -------------- HTML����������������������������...Download