Module: Droonga::Worker

Defined in:
lib/droonga/worker.rb

Instance Method Summary collapse

Instance Method Details

#initializeObject



22
23
24
25
26
27
28
29
30
31
# File 'lib/droonga/worker.rb', line 22

def initialize
  @raw_loop = Coolio::Loop.new
  @loop = EventLoop.new(@raw_loop)
  @handler_runner = HandlerRunner.new(@loop,
                                      config.merge(:dispatcher => nil))
  receive_socket_path = config[:job_receive_socket_path]
  @job_receiver = JobReceiver.new(@loop, receive_socket_path) do |message|
    process(message)
  end
end

#runObject



33
34
35
36
37
38
39
40
# File 'lib/droonga/worker.rb', line 33

def run
  Droonga.logger.trace("#{log_tag}: run: start")
  @handler_runner.start
  @job_receiver.start
  @raw_loop.run
  @handler_runner.shutdown
  Droonga.logger.trace("#{log_tag}: run: done")
end

#stopObject



42
43
44
45
46
47
48
# File 'lib/droonga/worker.rb', line 42

def stop
  Droonga.logger.trace("#{log_tag}: stop: start")
  @job_receiver.shutdown
  @raw_loop.stop
  @loop.break_current_loop
  Droonga.logger.trace("#{log_tag}: stop: done")
end