class Bluepill::Group
Attributes
logger[RW]
name[RW]
process_logger[RW]
processes[RW]
Public Class Methods
new(name, options = {})
click to toggle source
# File lib/bluepill/group.rb, line 6 def initialize(name, options = {}) self.name = name self.processes = [] self.logger = options[:logger] end
Public Instance Methods
add_process(process)
click to toggle source
# File lib/bluepill/group.rb, line 12 def add_process(process) process.logger = logger.prefix_with(process.name) processes << process end
determine_initial_state()
click to toggle source
# File lib/bluepill/group.rb, line 21 def determine_initial_state processes.each(&:determine_initial_state) end
status(process_name = nil)
click to toggle source
# File lib/bluepill/group.rb, line 50 def status(process_name = nil) lines = [] if process_name.nil? prefix = name ? ' ' : '' lines << "#{name}:" if name processes.each do |process| lines << format('%s%s(pid:%s): %s', prefix, process.name, process.actual_pid, process.state) next unless process.monitor_children? process.children.each do |child| lines << format(' %s%s: %s', prefix, child.name, child.state) end end else processes.each do |process| next if process_name != process.name lines << format('%s%s(pid:%s): %s', prefix, process.name, process.actual_pid, process.state) lines << process.statistics.to_s end end lines << '' end
tick()
click to toggle source
# File lib/bluepill/group.rb, line 17 def tick processes.each(&:tick) end