[Groonga-commit] droonga/droonga-engine at c7d2e03 [master] Accept "--records-per-second" option for droonga-engine-absorb-data and droonga-engine-join

アーカイブの一覧に戻る

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����������������������������...
ダウンロード 



More information about the Groonga-commit mailing list
アーカイブの一覧に戻る