Sha256: 55f29d69f639db5bdec0cf1bd0eb6127459a377eb4313b180330d130376eec66

Contents?: true

Size: 777 Bytes

Versions: 50

Compression:

Stored size: 777 Bytes

Contents

#
# Sidekiq's systemd integration allows Sidekiq to inform systemd:
#  1. when it has successfully started
#  2. when it is starting shutdown
#  3. periodically for a liveness check with a watchdog thread
#
module Sidekiq
  def self.start_watchdog
    usec = Integer(ENV["WATCHDOG_USEC"])
    return Sidekiq.logger.error("systemd Watchdog too fast: " + usec) if usec < 1_000_000

    sec_f = usec / 1_000_000.0
    # "It is recommended that a daemon sends a keep-alive notification message
    # to the service manager every half of the time returned here."
    ping_f = sec_f / 2
    Sidekiq.logger.info "Pinging systemd watchdog every #{ping_f.round(1)} sec"
    Thread.new do
      loop do
        sleep ping_f
        Sidekiq::SdNotify.watchdog
      end
    end
  end
end

Version data entries

50 entries across 50 versions & 1 rubygems

Version Path
sidekiq-7.3.0 lib/sidekiq/systemd.rb
sidekiq-7.2.4 lib/sidekiq/systemd.rb
sidekiq-7.2.3 lib/sidekiq/systemd.rb
sidekiq-7.2.2 lib/sidekiq/systemd.rb
sidekiq-7.2.1 lib/sidekiq/systemd.rb
sidekiq-7.2.0 lib/sidekiq/systemd.rb
sidekiq-6.5.12 lib/sidekiq/systemd.rb
sidekiq-7.1.6 lib/sidekiq/systemd.rb
sidekiq-6.5.11 lib/sidekiq/systemd.rb
sidekiq-7.1.5 lib/sidekiq/systemd.rb
sidekiq-6.5.10 lib/sidekiq/systemd.rb
sidekiq-7.1.4 lib/sidekiq/systemd.rb
sidekiq-7.1.3 lib/sidekiq/systemd.rb
sidekiq-7.1.2 lib/sidekiq/systemd.rb
sidekiq-7.1.1 lib/sidekiq/systemd.rb
sidekiq-6.5.9 lib/sidekiq/systemd.rb
sidekiq-7.1.0 lib/sidekiq/systemd.rb
sidekiq-7.0.9 lib/sidekiq/systemd.rb
sidekiq-7.0.8 lib/sidekiq/systemd.rb
sidekiq-7.0.7 lib/sidekiq/systemd.rb