diff options
Diffstat (limited to 'app/workers/clusters/integrations/check_prometheus_health_worker.rb')
-rw-r--r-- | app/workers/clusters/integrations/check_prometheus_health_worker.rb | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app/workers/clusters/integrations/check_prometheus_health_worker.rb b/app/workers/clusters/integrations/check_prometheus_health_worker.rb new file mode 100644 index 00000000000..0c0d86e975c --- /dev/null +++ b/app/workers/clusters/integrations/check_prometheus_health_worker.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Clusters + module Integrations + class CheckPrometheusHealthWorker + include ApplicationWorker + + data_consistency :always + + # rubocop:disable Scalability/CronWorkerContext + # This worker does not perform work scoped to a context + include CronjobQueue + # rubocop:enable Scalability/CronWorkerContext + + feature_category :incident_management + urgency :low + + idempotent! + worker_has_external_dependencies! + + def perform + demo_project_ids = Gitlab::Monitor::DemoProjects.primary_keys + + clusters = Clusters::Cluster.with_integration_prometheus + .with_project_http_integrations(demo_project_ids) + + # Move to a seperate worker with scoped context if expanded to do work on customer projects + clusters.each { |cluster| Clusters::Integrations::PrometheusHealthCheckService.new(cluster).execute } + end + end + end +end |