long-long-float
null+****@clear*****
Sat Aug 23 22:10:24 JST 2014
long-long-float 2014-08-23 22:10:24 +0900 (Sat, 23 Aug 2014) New Revision: 176ef26191429cc24dade80a17219fea5096367c https://github.com/long-long-float/droonga-engine/commit/176ef26191429cc24dade80a17219fea5096367c Merged 7fb2af2: Merge pull request #12 from long-long-float/share-catalog-automatically Message: fix bug Modified files: droonga-engine.gemspec lib/droonga/command/serf_event_handler.rb Modified: droonga-engine.gemspec (+1 -0) =================================================================== --- droonga-engine.gemspec 2014-08-22 18:43:21 +0900 (857f5d6) +++ droonga-engine.gemspec 2014-08-23 22:10:24 +0900 (c0387a7) @@ -35,6 +35,7 @@ Gem::Specification.new do |gem| gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) } gem.test_files = gem.files.grep(%r{^(test|spec|features)/}) gem.require_paths = ["lib"] + gem.add_dependenct "droonga-client" gem.add_dependency "rroonga", ">= 4.0.1" gem.add_dependency "groonga-command-parser" gem.add_dependency "json" Modified: lib/droonga/command/serf_event_handler.rb (+10 -6) =================================================================== --- lib/droonga/command/serf_event_handler.rb 2014-08-22 18:43:21 +0900 (e166cb1) +++ lib/droonga/command/serf_event_handler.rb 2014-08-23 22:10:24 +0900 (f1a4bc0) @@ -20,6 +20,7 @@ require "droonga/serf" require "droonga/catalog_generator" require "droonga/data_absorber" require "droonga/safe_file_writer" +require "droonga/client" module Droonga module Command @@ -132,16 +133,19 @@ module Droonga def join_as_replica source_node, source_node_port, source_node_dataset = @payload["source"], @payload["port"], @payload["dataset"] return unless [source_node, source_node_port, source_node_dataset].all? - + log("source_node = #{source_node}") - source_host = source_node.split(":").first - - Droonga::Client.new(:host => source_node, :port => source_node_port, :tag => "droonga", :protocol => :droonga, :timeout => 1, :exit_on_responce => true, :receiver_host => "localhost", :receiver_port => 0, :report_request => false, :report_elapsed_time => true) do |client| - client.request({"dataset": source_node_dataset , type: "catalog.fetch"}) do |responce| + + catalog = nil + Droonga::Client.open(:host => source_host, :port => source_node_port, :tag => "droonga", :protocol => :droonga, :timeout => 1, :receiver_host => "localhost", :receiver_port => 0) do |client| + STDERR.puts "start request" + client.request({"dataset" => source_node_dataset , :type => "catalog.fetch"}) do |responce| + STDERR.puts "write catalog to #{Path.catalog}" File.write(Path.catalog, responce) catalog = JSON.parse(responce) - end + end.wait + STDERR.puts "finish request" end generator = create_current_catalog_generator(catalog) -------------- next part -------------- HTML����������������������������...ダウンロード