Class: Droonga::Command::DroongaEngine::EngineRunner

Inherits:
Object
  • Object
show all
Defined in:
lib/droonga/command/droonga_engine.rb

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ EngineRunner

Returns a new instance of EngineRunner.



647
648
649
# File 'lib/droonga/command/droonga_engine.rb', line 647

def initialize(configuration)
  @configuration = configuration
end

Instance Method Details

#runObject



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
# File 'lib/droonga/command/droonga_engine.rb', line 651

def run
  listen_fd = @configuration.listen_socket.fileno
  heartbeat_fd = @configuration.heartbeat_socket.fileno
  env = {}
  command_line = [
    RbConfig.ruby,
    "-S",
    "droonga-engine",
    "--listen-fd", listen_fd.to_s,
    "--heartbeat-fd", heartbeat_fd.to_s,
    *@configuration.to_engine_command_line,
  ]
  options = {
    listen_fd => listen_fd,
    heartbeat_fd => heartbeat_fd,
  }
  spawn(env, *command_line, options)
end