diff --git a/app/lib/activity_logger.rb b/app/lib/activity_logger.rb index 471d35fb5..926632601 100644 --- a/app/lib/activity_logger.rb +++ b/app/lib/activity_logger.rb @@ -18,6 +18,7 @@ class ActivityLogger rescue puts 'rescued' logger.close + ActivityLogger.unregister(id, logger) puts 'closed logger' end end @@ -26,14 +27,17 @@ class ActivityLogger @@loggers.clear end - Thread.new { - while true - event = ActivityLogEvent.new('keep-alive', nil, nil, nil) - @@loggers.each_key do |key| - ActivityLogger.log(key, event) - end + def self.start_keep_alive_thread + Thread.new { + while true + event = ActivityLogEvent.new('keep-alive', nil, nil, nil) + puts "writing keep-alive" + @@loggers.each_key do |key| + ActivityLogger.log(key, event) + end - sleep 10 - end - } + sleep 10 + end + } + end end diff --git a/config/puma.rb b/config/puma.rb index 79f5319e6..04e6f9d25 100644 --- a/config/puma.rb +++ b/config/puma.rb @@ -25,6 +25,8 @@ on_worker_boot do Thread.new { ActivityLogSubscriber.new.start } + + ActivityLogger.start_keep_alive_thread end plugin :tmp_restart