YUKI Hiroshi
null+****@clear*****
Thu Nov 27 11:11:13 JST 2014
YUKI Hiroshi 2014-11-27 11:11:13 +0900 (Thu, 27 Nov 2014) New Revision: c7d2e03d4c9465d446cd3204bb77b6726a62f783 https://github.com/droonga/droonga-engine/commit/c7d2e03d4c9465d446cd3204bb77b6726a62f783 Message: Accept "--records-per-second" option for droonga-engine-absorb-data and droonga-engine-join Modified files: bin/droonga-engine-absorb-data bin/droonga-engine-join lib/droonga/command/remote.rb Modified: bin/droonga-engine-absorb-data (+10 -1) =================================================================== --- bin/droonga-engine-absorb-data 2014-11-26 18:46:23 +0900 (2bc4628) +++ bin/droonga-engine-absorb-data 2014-11-27 11:11:13 +0900 (9e70138) @@ -57,6 +57,7 @@ class AbsorbDataCommand options.tag = Droonga::CatalogGenerator::DEFAULT_TAG options.dataset = Droonga::CatalogGenerator::DEFAULT_DATASET options.remote = true + options.messages_per_second = Droonga::DataAbsorber::DEFAULT_MESSAGES_PER_SECOND parser = OptionParser.new parser.version = Droonga::Engine::VERSION @@ -93,6 +94,12 @@ class AbsorbDataCommand "(#{options.dataset})") do |dataset| options.dataset = dataset end + parser.on("--records-per-second=N", Integer, + "Maximum number of records per second to be absorbed.", + "'#{Droonga::Client::RateLimiter::NO_LIMIT}' means no limit.", + "(#{options.messages_per_second})") do |n| + options.messages_per_second = n + end parser.parse!(ARGV) @options = options @@ -134,6 +141,7 @@ class AbsorbDataCommand :destination_host => @options.destination_host, :port => @options.port, :tag => @options.tag, + :messages_per_second => @options.messages_per_second, } Droonga::DataAbsorber.new(absorber_options) end @@ -145,7 +153,8 @@ class AbsorbDataCommand "source" => @options.source_host, "port" => @options.port, "tag" => @options.tag, - "dataset" => @options.dataset) + "dataset" => @options.dataset, + "messages_per_second" => @options.messages_per_second) last_progress = "" while true sleep(3) Modified: bin/droonga-engine-join (+6 -0) =================================================================== --- bin/droonga-engine-join 2014-11-26 18:46:23 +0900 (a118279) +++ bin/droonga-engine-join 2014-11-27 11:11:13 +0900 (fa77f96) @@ -64,6 +64,11 @@ class JoinCommand option.on(:tag=, "Tag name of the soruce cluster to be connected.", :default => Droonga::CatalogGenerator::DEFAULT_TAG) + option.on("records-per-second=", + :as => Integer, + "Maximum number of records per second to be copied. " + + "'#{Droonga::Client::RateLimiter::NO_LIMIT}' means no limit.", + :default => Droonga::DataAbsorber::DEFAULT_MESSAGES_PER_SECOND) end @options = options rescue Slop::MissingOptionError => error @@ -98,6 +103,7 @@ class JoinCommand :destination_host => @options[:host], :port => @options[:port], :tag => @options[:tag], + :messages_per_second => @options["records-per-second"], } Droonga::DataAbsorber.new(absorber_options) end Modified: lib/droonga/command/remote.rb (+11 -1) =================================================================== --- lib/droonga/command/remote.rb 2014-11-26 18:46:23 +0900 (136195f) +++ lib/droonga/command/remote.rb 2014-11-27 11:11:13 +0900 (e4bf1fb) @@ -122,6 +122,10 @@ module Droonga @params["dataset"] end + def messages_per_second + @params["messages_per_second"] + end + def valid_params? have_required_params? and valid_node?(source_node) and @@ -227,7 +231,8 @@ module Droonga :source_host => source_host, :destination_host => joining_host, :port => port, - :tag => tag) + :tag => tag, + :messages_per_second => messages_per_second) status.delete(:absorbing) sleep(1) end @@ -265,6 +270,7 @@ module Droonga :destination_host => host, :port => port, :tag => tag, + :messages_per_second => messages_per_second, :client => "droonga-send") status.delete(:absorbing) end @@ -285,6 +291,10 @@ module Droonga def tag @tag ||= @params["tag"] end + + def messages_per_second + @messages_per_second ||= @params["messages_per_second"] + end end class ModifyReplicasBase < Base -------------- next part -------------- HTML����������������������������... 다운로드