From fe62de68ddc3f2db446d4bc123ccea4f5e99e247 Mon Sep 17 00:00:00 2001 From: David Taylor Date: Wed, 6 Mar 2019 10:11:31 +0000 Subject: [PATCH] DEV: Correct sidekiq logging to avoid thread leak --- app/jobs/base.rb | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/app/jobs/base.rb b/app/jobs/base.rb index 515a3c8ab1..648cca60c2 100644 --- a/app/jobs/base.rb +++ b/app/jobs/base.rb @@ -67,13 +67,11 @@ module Jobs def self.raw_log(message) @@logger ||= Logger.new("#{Rails.root}/log/sidekiq.log") @@log_queue ||= Queue.new - unless @log_thread&.alive? - @@log_thread = Thread.new do - begin - loop { @@logger << @@log_queue.pop } - rescue Exception => e - Discourse.warn_exception(e, message: "Sidekiq logging thread terminated unexpectedly") - end + @@log_thread ||= Thread.new do + begin + loop { @@logger << @@log_queue.pop } + rescue Exception => e + Discourse.warn_exception(e, message: "Sidekiq logging thread terminated unexpectedly") end end @@log_queue.push(message)