Class: Salemove::ProcessHandler::CompositeProcessMonitor

Inherits:
ProcessMonitor
  • Object
show all
Defined in:
lib/salemove/process_handler/composite_process.rb

Instance Method Summary collapse

Methods inherited from ProcessMonitor

#alive?, #running?, #shutdown, #start

Constructor Details

#initializeCompositeProcessMonitor

Returns a new instance of CompositeProcessMonitor.



37
38
39
# File 'lib/salemove/process_handler/composite_process.rb', line 37

def initialize
  @monitors = []
end

Instance Method Details

#add(monitor) ⇒ Object



41
42
43
# File 'lib/salemove/process_handler/composite_process.rb', line 41

def add(monitor)
  @monitors << monitor
end

#stopObject



45
46
47
48
49
# File 'lib/salemove/process_handler/composite_process.rb', line 45

def stop
  @monitors.each(&:stop)
  sleep 1 while @monitors.any?(&:alive?)
  super
end