YUKI Hiroshi
null+****@clear*****
Tue Jan 6 19:25:15 JST 2015
YUKI Hiroshi 2015-01-06 19:25:15 +0900 (Tue, 06 Jan 2015) New Revision: f6587af896189891da68b3fb6bb5294346831caf https://github.com/droonga/droonga-engine/commit/f6587af896189891da68b3fb6bb5294346831caf Message: Use FluentMessageSender directly for other engine nodes Modified files: lib/droonga/engine_node.rb Modified: lib/droonga/engine_node.rb (+27 -5) =================================================================== --- lib/droonga/engine_node.rb 2015-01-06 19:23:09 +0900 (9e73b27) +++ lib/droonga/engine_node.rb 2015-01-06 19:25:15 +0900 (250b5e0) @@ -14,6 +14,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA require "droonga/forwarder" +require "droonga/fluent_message_sender" require "droonga/node_metadata" module Droonga @@ -25,23 +26,44 @@ module Droonga @state = state @sender_role = sender_role - @forwarder = Forwarder.new(loop, :buffering => true) + unless @name =~ /\A(.*):(\d+)\/([^.]+)\z/ + raise "name format: hostname:port/tag" + end + host = $1 + port = $2 + tag = $3 + @sender = FluentMessageSender.new(loop, host, port, + :buffering => true) + @sender.start end def start logger.trace("start: start") - @forwarder.start + @sender.resume logger.trace("start: done") end def shutdown logger.trace("shutdown: start") - @forwarder.shutdown + @sender.shutdown logger.trace("shutdown: done") end def forward(message, destination) - @forwarder.forward(message, destination) + command = destination["type"] + receiver = destination["to"] + arguments = destination["arguments"] + + override_message = { + "type" => command, + } + override_message["arguments"] = arguments if arguments + message = message.merge(override_message) + output_tag = "#{tag}.message" + log_info = "<#{receiver}>:<#{output_tag}>" + logger.trace("forward: start: #{log_info}") + @sender.send(output_tag, message) + logger.trace("forward: end") end def live? @@ -101,7 +123,7 @@ module Droonga end def on_change - @forwarder.resume + @sender.resume end end end -------------- next part -------------- HTML����������������������������...ダウンロード