module Eye::Process::Controller

Public Instance Methods

delete() click to toggle source
# File lib/eye/process/controller.rb, line 56
def delete
  if self[:stop_on_delete]
    info 'process has stop_on_delete option, so sync-stop it first'
    stop
  end

  remove_watchers
  remove_children
  remove_triggers

  terminate
end
monitor() click to toggle source
# File lib/eye/process/controller.rb, line 38
def monitor
  if self[:auto_start]
    start
  else
    if try_update_pid_from_file
      info "process <#{self.pid}> from pid_file is already running"
      switch :already_running
    else
      warn 'process not found, unmonitoring'
      schedule :unmonitor, Eye::Reason.new(:'not found')
    end
  end
end
restart() click to toggle source
# File lib/eye/process/controller.rb, line 30
def restart
  unless pid # unmonitored case
    try_update_pid_from_file
  end

  restart_process
end
send_command(command, *args) click to toggle source
# File lib/eye/process/controller.rb, line 3
def send_command(command, *args)
  schedule command, *args, Eye::Reason::User.new(command)
end
signal(sig = 0) click to toggle source
# File lib/eye/process/controller.rb, line 69
def signal(sig = 0)
  send_signal(sig) if self.pid
end
start() click to toggle source
# File lib/eye/process/controller.rb, line 7
def start
  res = if set_pid_from_file
    if process_really_running?
      info "process <#{self.pid}> from pid_file is already running"
      switch :already_running
      :ok
    else
      info "pid_file found, but process <#{self.pid}> is down, starting..."
      start_process
    end
  else
    info 'pid_file not found, starting...'
    start_process
  end

  res
end
stop() click to toggle source
# File lib/eye/process/controller.rb, line 25
def stop
  stop_process
  switch :unmonitoring
end
unmonitor() click to toggle source
# File lib/eye/process/controller.rb, line 52
def unmonitor
  switch :unmonitoring
end