FIX: queue heartbeats in readonly modes

If sidekiq is paused or Discourse is in readonly continue to queue
heartbeats

If we do not do that then a master process can end up reaping sidekiq
workers and causing various badness

This also impacts restore which can do weird stuff TM in cases like this
This commit is contained in:
Sam
2018-08-29 12:36:59 +10:00
parent 7516f5159e
commit 44cf3cf975
4 changed files with 48 additions and 3 deletions

View File

@ -74,7 +74,7 @@ class Sidekiq::Pausable
end
def call(worker, msg, queue)
if Sidekiq.paused?
if Sidekiq.paused? && !(Jobs::RunHeartbeat === worker)
worker.class.perform_in(@delay, *msg['args'])
else
start = Process.clock_gettime(Process::CLOCK_MONOTONIC)