class Trident::PoolManager
Attributes
name[R]
pools[R]
prefork[R]
Public Class Methods
new(name, pools, prefork)
click to toggle source
# File lib/trident/pool_manager.rb, line 8 def initialize(name, pools, prefork) logger.info "Initializing pool manager" procline "manager-#{name}", "(initializing)" @name = name @pools = pools @prefork = prefork end
Public Instance Methods
start()
click to toggle source
# File lib/trident/pool_manager.rb, line 16 def start logger.info "Starting pools" load_handlers if prefork pools.each do |pool| pool.start end procline "manager-#{name}", "managing #{procline_display}" end
stop_forcefully()
click to toggle source
# File lib/trident/pool_manager.rb, line 25 def stop_forcefully stop('stop_forcefully') end
stop_gracefully()
click to toggle source
# File lib/trident/pool_manager.rb, line 29 def stop_gracefully stop('stop_gracefully') end
update()
click to toggle source
# File lib/trident/pool_manager.rb, line 43 def update pools.each do |pool| pool.update end procline "manager-#{name}", "managing #{procline_display}" end
wait()
click to toggle source
waits for children to exit
# File lib/trident/pool_manager.rb, line 34 def wait logger.info "Waiting for pools to exit" procline "manager-#{name}", "waiting #{procline_display}" pools.each do |pool| pool.wait end :break end
Private Instance Methods
load_handlers()
click to toggle source
# File lib/trident/pool_manager.rb, line 56 def load_handlers procline "manager-#{name}", "preforking #{procline_display}" pools.each do |pool| pool.handler.load end end
procline_display()
click to toggle source
# File lib/trident/pool_manager.rb, line 52 def procline_display pools.collect {|pool| "#{pool.name}#{pool.workers.to_a.collect(&:pid)}" }.join(" ") end
stop(action)
click to toggle source
tells all children to stop using action
# File lib/trident/pool_manager.rb, line 64 def stop(action) logger.info "Stopping pools: #{action}" procline "manager-#{name}", "stopping #{procline_display}" pools.each do |pool| pool.stop(action) end :break end