From 281736e46c67e5a5d65b5d4fee4cf96d66825187 Mon Sep 17 00:00:00 2001 From: Adam Grare Date: Thu, 25 Jul 2024 16:15:40 -0400 Subject: [PATCH] Use rails_worker? in find_all_starting/stopping query --- app/models/miq_server/worker_management/kubernetes.rb | 8 +++----- app/models/miq_server/worker_management/systemd.rb | 6 ++---- app/models/miq_worker.rb | 1 + 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/app/models/miq_server/worker_management/kubernetes.rb b/app/models/miq_server/worker_management/kubernetes.rb index a5682c8d157..85b2ee88e8b 100644 --- a/app/models/miq_server/worker_management/kubernetes.rb +++ b/app/models/miq_server/worker_management/kubernetes.rb @@ -21,10 +21,8 @@ def sync_from_system end def sync_starting_workers - MiqWorker.find_all_starting.each do |worker| - next if worker.class.rails_worker? - - worker_pod = current_pods[worker[:system_uid]] + MiqWorker.find_all_starting.reject(&:rails_worker?).each do |worker| + worker_pod = current_pods[worker.system_uid] next if worker_pod.nil? container_status = worker_pod.status.containerStatuses.find { |container| container.name == worker.worker_deployment_name } @@ -35,7 +33,7 @@ def sync_starting_workers end def sync_stopping_workers - MiqWorker.find_all_stopping.reject { |w| w.class.rails_worker? }.each do |worker| + MiqWorker.find_all_stopping.reject(&:rails_worker?).each do |worker| next if current_pods.key?(worker[:system_uid]) worker.update!(:status => MiqWorker::STATUS_STOPPED) diff --git a/app/models/miq_server/worker_management/systemd.rb b/app/models/miq_server/worker_management/systemd.rb index abfd50310b7..e392c57fa49 100644 --- a/app/models/miq_server/worker_management/systemd.rb +++ b/app/models/miq_server/worker_management/systemd.rb @@ -6,9 +6,7 @@ def sync_from_system def sync_starting_workers sync_from_system - MiqWorker.find_all_starting.each do |worker| - next if worker.class.rails_worker? - + MiqWorker.find_all_starting.reject(&:rails_worker?).each do |worker| systemd_worker = miq_services_by_unit[worker[:system_uid]] next if systemd_worker.nil? @@ -20,7 +18,7 @@ def sync_starting_workers def sync_stopping_workers sync_from_system - MiqWorker.find_all_stopping.reject { |w| w.class.rails_worker? }.each do |worker| + MiqWorker.find_all_stopping.reject(&:rails_worker?).each do |worker| # If the worker record is "stopping" and the systemd unit is gone then the # worker has successfully exited. next if miq_services_by_unit[worker[:system_uid]].present? diff --git a/app/models/miq_worker.rb b/app/models/miq_worker.rb index 964fc4ca03e..79e7da503e3 100644 --- a/app/models/miq_worker.rb +++ b/app/models/miq_worker.rb @@ -71,6 +71,7 @@ def self.rails_worker? true end + delegate :rails_worker?, :to => :class def self.scalable? maximum_workers_count.nil? || maximum_workers_count > 1