# File lib/puma/cluster.rb, line 78 def check_workers while @workers.any? pid = Process.waitpid(-1, Process::WNOHANG) break unless pid @workers.delete_if { |w| w.pid == pid } end spawn_workers if @phased_state == :idle && all_workers_booted? # If we're running at proper capacity, check to see if # we need to phase any workers out (which will restart # in the right phase). # w = @workers.find { |x| x.phase != @phase } if w @phased_state = :waiting log "- Stopping #{w.pid} for phased upgrade..." w.term end end end