Sha256: d9ccafb79c76a19d7c9f3aa0f7e3f7e867927fa7df3f989366aa0239d4bf13ab
Contents?: true
Size: 923 Bytes
Versions: 4
Compression:
Stored size: 923 Bytes
Contents
module WorkerKiller module Killer class Base attr_accessor :config, :kill_attempts, :logger def initialize(logger: nil, **_kwargs) @logger = logger @config = WorkerKiller.configuration @kill_attempts = 0 end def kill(start_time, **params) alive_sec = (Time.now - start_time).round @kill_attempts += 1 sig = :QUIT sig = :TERM if kill_attempts > config.quit_attempts sig = :KILL if kill_attempts > (config.quit_attempts + config.term_attempts) do_kill(sig, Process.pid, alive_sec, **params) end # :nocov: def do_kill(*_args) raise 'Not Implemented' end # :nocov: def logger @logger || WorkerKiller.configuration.logger end end end end require_relative 'killer/signal' require_relative 'killer/passenger' require_relative 'killer/delayed_job'
Version data entries
4 entries across 4 versions & 1 rubygems