YUKI Hiroshi
null+****@clear*****
Thu Apr 30 15:53:11 JST 2015
YUKI Hiroshi 2015-04-30 15:53:11 +0900 (Thu, 30 Apr 2015) New Revision: a832ca75e8b1a2bcada10b45656016d41e1271de https://github.com/droonga/droonga-engine/commit/a832ca75e8b1a2bcada10b45656016d41e1271de Message: Prepare required information on demand Modified files: lib/droonga/forward_buffer.rb Modified: lib/droonga/forward_buffer.rb (+20 -10) =================================================================== --- lib/droonga/forward_buffer.rb 2015-04-30 15:47:58 +0900 (dbd4ef7) +++ lib/droonga/forward_buffer.rb 2015-04-30 15:53:11 +0900 (df3446a) @@ -41,16 +41,11 @@ module Droonga @unpacker = MessagePack::Unpacker.new @target = node_name - @serf = Serf.new(ENV["DROONGA_ENGINE_NAME"] || node_name) - - dirname = node_name.gsub("/", ":") - @data_directory = Path.intentional_buffer + dirname - FileUtils.mkdir_p(@data_directory.to_s) end def add(message, destination) logger.trace("add: start") - @serf.set_have_unprocessed_messages_for(@target) + serf.set_have_unprocessed_messages_for(@target) buffered_message = { "message" => message, "destination" => destination, @@ -81,18 +76,18 @@ module Droonga # (ex. messages generated by Dispatcher) @process_messages_newer_than_timestamp = nil end - @serf.reset_have_unprocessed_messages_for(@target) + serf.reset_have_unprocessed_messages_for(@target) logger.trace("start_forward: done") end def buffered_messages - Pathname.glob("#{@data_directory}/*#{SUFFIX}").sort_by do |path| + Pathname.glob("#{data_directory}/*#{SUFFIX}").sort_by do |path| path end end def empty? - @data_directory.children.empty? + data_directory.children.empty? end def process_messages_newer_than(timestamp) @@ -100,6 +95,21 @@ module Droonga end private + def data_directory + @data_directory ||= resolve_data_directory + end + + def resolve_data_directory + dirname =****@targe*****("/", ":") + data_directory = Path.intentional_buffer + dirname + FileUtils.mkdir_p(data_directory.to_s) + data_directory + end + + def serf + @serf ||= Serf.new(ENV["DROONGA_ENGINE_NAME"] || @target) + end + def forward(buffered_message_path) logger.trace("forward: start (#{buffered_message_path})") @@ -146,7 +156,7 @@ module Droonga def create_buffered_message_path(time_stamp=Time.now) basename = Timestamp.stringify(time_stamp) - Path.unique_file_path(@data_directory, basename, SUFFIX) + Path.unique_file_path(data_directory, basename, SUFFIX) end def on_forward(message, destination) -------------- next part -------------- HTML����������������������������...다운로드