Sha256: a18e6547e6b70c77ed279c6fd3d10ebbfaf7bd2f428b7ab719b483d250d522d4
Contents?: true
Size: 1.23 KB
Versions: 5
Compression:
Stored size: 1.23 KB
Contents
module Eye::Process::Child def add_childs add_or_update_childs end def add_or_update_childs return unless self[:monitor_children] return unless self.up? unless self.pid warn 'Cant add childs, because no pid' return end now_childs = Eye::SystemResources.childs(self.pid) new_childs = [] exist_childs = [] now_childs.each do |child_pid| if self.childs[child_pid] exist_childs << child_pid else new_childs << child_pid end end removed_childs = self.childs.keys - now_childs if new_childs.present? new_childs.each do |child_pid| self.childs[child_pid] = Eye::ChildProcess.new(child_pid, self[:monitor_children], logger.prefix) end end if removed_childs.present? removed_childs.each{|child_pid| remove_child(child_pid) } end h = {:new => new_childs.size, :removed => removed_childs.size, :exists => exist_childs.size } debug "childs info: #{ h.inspect }" h end def remove_childs if childs.present? childs.keys.each{|child_pid| remove_child(child_pid) } end end def remove_child(child_pid) child = self.childs.delete(child_pid) child.destroy if child && child.alive? end end
Version data entries
5 entries across 5 versions & 2 rubygems
Version | Path |
---|---|
eye-0.4.2 | lib/eye/process/child.rb |
reel-eye-0.4.1 | lib/eye/process/child.rb |
eye-0.4.1 | lib/eye/process/child.rb |
reel-eye-0.4 | lib/eye/process/child.rb |
eye-0.4 | lib/eye/process/child.rb |