class CronoTrigger::Models::Signal

Constants

IGNORE_THRESHOLD

Public Class Methods

send_cont(worker_id) click to toggle source
# File lib/crono_trigger/models/signal.rb, line 32
def send_cont(worker_id)
  send_signal("CONT", worker_id)
end
send_signal(signal, worker_id) click to toggle source
# File lib/crono_trigger/models/signal.rb, line 20
def send_signal(signal, worker_id)
  create!(signal: signal, worker_id: worker_id, sent_at: Time.current)
end
send_term(worker_id) click to toggle source
# File lib/crono_trigger/models/signal.rb, line 24
def send_term(worker_id)
  send_signal("TERM", worker_id)
end
send_tstp(worker_id) click to toggle source
# File lib/crono_trigger/models/signal.rb, line 36
def send_tstp(worker_id)
  send_signal("TSTP", worker_id)
end
send_usr1(worker_id) click to toggle source
# File lib/crono_trigger/models/signal.rb, line 28
def send_usr1(worker_id)
  send_signal("USR1", worker_id)
end

Public Instance Methods

kill_me(to_supervisor: true) click to toggle source
# File lib/crono_trigger/models/signal.rb, line 41
def kill_me(to_supervisor: true)
  if update(received_at: Time.current)
    if to_supervisor && Process.ppid != 1
      Process.kill(signal, Process.ppid)
    else
      Process.kill(signal, Process.pid)
    end
  end
end