class Puma::Cluster::Worker
Attributes
index[R]
last_checkin[R]
last_status[R]
phase[R]
pid[R]
signal[R]
Public Class Methods
new(idx, pid, phase, options)
click to toggle source
# File lib/puma/cluster.rb, line 46 def initialize(idx, pid, phase, options) @index = idx @pid = pid @phase = phase @stage = :started @signal = "TERM" @options = options @first_term_sent = nil @last_checkin = Time.now @last_status = '{}' @dead = false end
Public Instance Methods
boot!()
click to toggle source
# File lib/puma/cluster.rb, line 65 def boot! @last_checkin = Time.now @stage = :booted end
booted?()
click to toggle source
# File lib/puma/cluster.rb, line 61 def booted? @stage == :booted end
dead!()
click to toggle source
# File lib/puma/cluster.rb, line 74 def dead! @dead = true end
dead?()
click to toggle source
# File lib/puma/cluster.rb, line 70 def dead? @dead end
hup()
click to toggle source
# File lib/puma/cluster.rb, line 105 def hup Process.kill "HUP", @pid rescue Errno::ESRCH end
kill()
click to toggle source
# File lib/puma/cluster.rb, line 100 def kill Process.kill "KILL", @pid rescue Errno::ESRCH end
ping!(status)
click to toggle source
# File lib/puma/cluster.rb, line 78 def ping!(status) @last_checkin = Time.now @last_status = status end
ping_timeout?(which)
click to toggle source
# File lib/puma/cluster.rb, line 83 def ping_timeout?(which) Time.now - @last_checkin > which end
term()
click to toggle source
# File lib/puma/cluster.rb, line 87 def term begin if @first_term_sent && (Time.now - @first_term_sent) > @options[:worker_shutdown_timeout] @signal = "KILL" else @first_term_sent ||= Time.now end Process.kill @signal, @pid rescue Errno::ESRCH end end