Module: Droonga::Server::WorkerStopper

Defined in:
lib/droonga/server.rb

Instance Method Summary collapse

Instance Method Details

#send_reloadObject



74
75
76
77
78
79
80
81
82
83
# File 'lib/droonga/server.rb', line 74

def send_reload
  in_signal_sending do
    open_queue do |queue|
      $log.trace("#{log_tag}: reload: start")
      super
      queue.unblock
      $log.trace("#{log_tag}: reload: done")
    end
  end
end

#send_stop(stop_graceful) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/droonga/server.rb', line 50

def send_stop(stop_graceful)
  in_signal_sending do
    open_queue do |queue|
      $log.trace("#{log_tag}: stop: start")

      $log.trace("#{log_tag}: stop: queue: unblock: start")
      max_n_retries = 20
      max_n_retries.times do |i|
        $log.trace("#{log_tag}: stop: queue: unblock: #{i}: start")
        super(stop_graceful)
        queue.unblock
        alive_p = alive?
        $log.trace("#{log_tag}: stop: queue: unblock: #{i}: done: " +
                   "#{alive_p}")
        break unless alive_p
        sleep(i * 0.1)
      end
      $log.trace("#{log_tag}: stop: queue: unblock: done")

      $log.trace("#{log_tag}: stop: done")
    end
  end
end