diff --git a/app/lib/katello/event_daemon/monitor.rb b/app/lib/katello/event_daemon/monitor.rb index 848a430c6a9..9b492b227e0 100644 --- a/app/lib/katello/event_daemon/monitor.rb +++ b/app/lib/katello/event_daemon/monitor.rb @@ -7,15 +7,15 @@ def initialize(services) @services.keys.each do |service_name| @service_statuses[service_name] = { running: 'starting' } end + write_statuses_to_cache end def start - write_statuses_to_cache - loop do - Rails.application.executor.wrap do + ActiveSupport::Dependencies.interlock.permit_concurrent_loads do + loop do check_services + sleep 5 end - sleep 15 end end diff --git a/app/lib/katello/event_daemon/runner.rb b/app/lib/katello/event_daemon/runner.rb index 7977819f853..92764dfb16e 100644 --- a/app/lib/katello/event_daemon/runner.rb +++ b/app/lib/katello/event_daemon/runner.rb @@ -58,6 +58,7 @@ def start File.open(lock_file, 'r') do |lockfile| lockfile.flock(File::LOCK_EX) return nil if started? # ensure it wasn't started while we waited for the lock + @monitor = Katello::EventDaemon::Monitor.new(@services) start_monitor_thread write_pid_file @@ -81,7 +82,7 @@ def started? def start_monitor_thread @monitor_thread = Thread.new do Rails.application.executor.wrap do - Katello::EventDaemon::Monitor.new(@services).start + @monitor.start end end end