class Groonga::Client::CommandLine::GroongaClientIndexRecreate

Public Class Methods

new() click to toggle source
# File lib/groonga/client/command-line/groonga-client-index-recreate.rb, line 27
def initialize
  @interval = :day

  @n_workers = 0
end

Public Instance Methods

run(arguments) click to toggle source
# File lib/groonga/client/command-line/groonga-client-index-recreate.rb, line 33
def run(arguments)
  parser = Parser.new(:read_timeout => -1)
  indexes = parser.parse(arguments) do |option_parser|
    parse_command_line(option_parser)
  end

  parser.open_client do |client|
    recreator = Recreator.new(client, @interval, indexes)
    recreator.run do
      @n_workers.times do
        client.database_unmap
      end
    end
  end
end

Private Instance Methods

parse_command_line(parser) click to toggle source
# File lib/groonga/client/command-line/groonga-client-index-recreate.rb, line 50
def parse_command_line(parser)
  parser.banner += " LEXICON1.INDEX1 LEXICON2.INDEX2 ..."

  parser.separator("")
  parser.separator("Configuration:")

  available_intervals = [:day]
  parser.on("--interval=INTERVAL", available_intervals,
            "Index create interval.",
            "[#{available_intervals.join(", ")}]",
            "(#{@interval})") do |interval|
    @interval = interval
  end

  parser.separator("")
  parser.separator("groonga-httpd:")

  parser.on("--n-workers=N", Integer,
            "The number of groonga-httpd workers.",
            "This options is meaningless for groonga -s.",
            "(#{@n_workers})") do |n|
    @n_workers = n
  end
end