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