class Sponges::Store
Attributes
name[R]
pids[R]
supervisor_pid[W]
Public Class Methods
new(name)
click to toggle source
# File lib/sponges/store.rb, line 9 def initialize(name) @pids, @name = [], name end
Public Instance Methods
children_pids()
click to toggle source
# File lib/sponges/store.rb, line 22 def children_pids @pids.any? ? @pids : find_childs.map(&:pid) end
clear(name)
click to toggle source
# File lib/sponges/store.rb, line 34 def clear(name) pids.clear end
register(supervisor_pid)
click to toggle source
# File lib/sponges/store.rb, line 30 def register(supervisor_pid) @supervisor_pid = supervisor_pid end
running?()
click to toggle source
# File lib/sponges/store.rb, line 26 def running? !!find_supervisor end
supervisor_pid()
click to toggle source
# File lib/sponges/store.rb, line 16 def supervisor_pid return @supervisor_pid if @supervisor_pid s = find_supervisor @supervisor_pid = s.pid if s end
Private Instance Methods
childs_name()
click to toggle source
# File lib/sponges/store.rb, line 44 def childs_name [name, Sponges.env, "child"].compact.join("_") end
find_childs()
click to toggle source
# File lib/sponges/store.rb, line 52 def find_childs Sys::ProcTable.ps.select {|f| f.cmdline =~ /^#{childs_name}/ } end
find_supervisor()
click to toggle source
# File lib/sponges/store.rb, line 48 def find_supervisor Sys::ProcTable.ps.select {|f| f.cmdline == supervisor_name }.first end
supervisor_name()
click to toggle source
# File lib/sponges/store.rb, line 40 def supervisor_name [name, Sponges.env, "supervisor"].compact.join("_") end