DEV: Correct sidekiq logging to avoid thread leak

This commit is contained in:
David Taylor 2019-03-06 10:11:31 +00:00
parent f7c4d8c8f9
commit fe62de68dd

View File

@ -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)