class Eye::Trigger::CheckDependency
Public Instance Methods
check(transition)
click to toggle source
# File lib/eye/trigger/check_dependency.rb, line 5 def check(transition) check_dependency(transition.to_name) if transition.from_name == :up end
Private Instance Methods
check_dependency(to)
click to toggle source
# File lib/eye/trigger/check_dependency.rb, line 11 def check_dependency(to) processes = names.map do |name| Eye::Control.find_nearest_process(name, process.group_name_pure, process.app_name) end processes = processes.compact.reject { |p| p.state_name == :unmonitored } return if processes.empty? processes = Eye::Utils::AliveArray.new(processes) act = case to when :down, :restarting then :restart when :stopping then :stop when :unmonitored then :unmonitor end if act processes.each do |p| p.schedule command: act, reason: "#{act} dependecies" end end end