diff options
Diffstat (limited to 'app/workers/clusters/applications/deactivate_service_worker.rb')
-rw-r--r-- | app/workers/clusters/applications/deactivate_service_worker.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/app/workers/clusters/applications/deactivate_service_worker.rb b/app/workers/clusters/applications/deactivate_service_worker.rb index 9337af56623..4c8d21a7c4d 100644 --- a/app/workers/clusters/applications/deactivate_service_worker.rb +++ b/app/workers/clusters/applications/deactivate_service_worker.rb @@ -5,6 +5,8 @@ module Clusters class DeactivateServiceWorker # rubocop:disable Scalability/IdempotentWorker include ApplicationWorker + data_consistency :always + sidekiq_options retry: 3 include ClusterQueue @@ -14,9 +16,11 @@ module Clusters cluster = Clusters::Cluster.find_by_id(cluster_id) raise cluster_missing_error(integration_name) unless cluster - integration = ::Project.integration_association_name(integration_name).to_sym - cluster.all_projects.with_integration(integration).find_each do |project| - project.public_send(integration).update!(active: false) # rubocop:disable GitlabSecurity/PublicSend + integration_class = Integration.integration_name_to_model(integration_name) + integration_association_name = ::Project.integration_association_name(integration_name).to_sym + + cluster.all_projects.with_integration(integration_class).include_integration(integration_association_name).find_each do |project| + project.public_send(integration_association_name).update!(active: false) # rubocop:disable GitlabSecurity/PublicSend end end |