summaryrefslogtreecommitdiff
path: root/app/workers
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-02-11 18:08:58 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-02-11 18:08:58 +0000
commit1ca9950d5f890cd8f185e1eda158b969a7244fe2 (patch)
tree6f62715938a4b2b001705c51c697609a8e0850ae /app/workers
parentbcc77054ee9aefd1e332e04a4189390fd5a3112e (diff)
downloadgitlab-ce-1ca9950d5f890cd8f185e1eda158b969a7244fe2.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/workers')
-rw-r--r--app/workers/all_queues.yml2
-rw-r--r--app/workers/pages_domain_removal_cron_worker.rb6
-rw-r--r--app/workers/pages_domain_ssl_renewal_cron_worker.rb8
-rw-r--r--app/workers/pages_domain_verification_cron_worker.rb8
-rw-r--r--app/workers/propagate_instance_level_service_worker.rb26
-rw-r--r--app/workers/propagate_service_template_worker.rb26
6 files changed, 40 insertions, 36 deletions
diff --git a/app/workers/all_queues.yml b/app/workers/all_queues.yml
index 22dd7f5843f..42ee0994617 100644
--- a/app/workers/all_queues.yml
+++ b/app/workers/all_queues.yml
@@ -969,7 +969,7 @@
:latency_sensitive:
:resource_boundary: :unknown
:weight: 1
-- :name: propagate_instance_level_service
+- :name: propagate_service_template
:feature_category: :source_code_management
:has_external_dependencies:
:latency_sensitive:
diff --git a/app/workers/pages_domain_removal_cron_worker.rb b/app/workers/pages_domain_removal_cron_worker.rb
index b14d0d4597c..1c96dd6ad8c 100644
--- a/app/workers/pages_domain_removal_cron_worker.rb
+++ b/app/workers/pages_domain_removal_cron_worker.rb
@@ -2,14 +2,14 @@
class PagesDomainRemovalCronWorker
include ApplicationWorker
- include CronjobQueue # rubocop:disable Scalability/CronWorkerContext
+ include CronjobQueue
feature_category :pages
worker_resource_boundary :cpu
def perform
- PagesDomain.for_removal.find_each do |domain|
- domain.destroy!
+ PagesDomain.for_removal.with_logging_info.find_each do |domain|
+ with_context(project: domain.project) { domain.destroy! }
rescue => e
Gitlab::ErrorTracking.track_exception(e)
end
diff --git a/app/workers/pages_domain_ssl_renewal_cron_worker.rb b/app/workers/pages_domain_ssl_renewal_cron_worker.rb
index b20ed23dc89..c1201b935d1 100644
--- a/app/workers/pages_domain_ssl_renewal_cron_worker.rb
+++ b/app/workers/pages_domain_ssl_renewal_cron_worker.rb
@@ -2,15 +2,17 @@
class PagesDomainSslRenewalCronWorker
include ApplicationWorker
- include CronjobQueue # rubocop:disable Scalability/CronWorkerContext
+ include CronjobQueue
feature_category :pages
def perform
return unless ::Gitlab::LetsEncrypt.enabled?
- PagesDomain.need_auto_ssl_renewal.find_each do |domain|
- PagesDomainSslRenewalWorker.perform_async(domain.id)
+ PagesDomain.need_auto_ssl_renewal.with_logging_info.find_each do |domain|
+ with_context(project: domain.project) do
+ PagesDomainSslRenewalWorker.perform_async(domain.id)
+ end
end
end
end
diff --git a/app/workers/pages_domain_verification_cron_worker.rb b/app/workers/pages_domain_verification_cron_worker.rb
index 8bd7fe33334..b06aa65a8e5 100644
--- a/app/workers/pages_domain_verification_cron_worker.rb
+++ b/app/workers/pages_domain_verification_cron_worker.rb
@@ -2,15 +2,17 @@
class PagesDomainVerificationCronWorker
include ApplicationWorker
- include CronjobQueue # rubocop:disable Scalability/CronWorkerContext
+ include CronjobQueue
feature_category :pages
def perform
return if Gitlab::Database.read_only?
- PagesDomain.needs_verification.find_each do |domain|
- PagesDomainVerificationWorker.perform_async(domain.id)
+ PagesDomain.needs_verification.with_logging_info.find_each do |domain|
+ with_context(project: domain.project) do
+ PagesDomainVerificationWorker.perform_async(domain.id)
+ end
end
end
end
diff --git a/app/workers/propagate_instance_level_service_worker.rb b/app/workers/propagate_instance_level_service_worker.rb
deleted file mode 100644
index 64ea61cabfa..00000000000
--- a/app/workers/propagate_instance_level_service_worker.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-# frozen_string_literal: true
-
-# Worker for updating any project specific caches.
-class PropagateInstanceLevelServiceWorker
- include ApplicationWorker
-
- feature_category :source_code_management
-
- LEASE_TIMEOUT = 4.hours.to_i
-
- # rubocop: disable CodeReuse/ActiveRecord
- def perform(instance_level_service_id)
- return unless try_obtain_lease_for(instance_level_service_id)
-
- Projects::PropagateInstanceLevelService.propagate(Service.find_by(id: instance_level_service_id))
- end
- # rubocop: enable CodeReuse/ActiveRecord
-
- private
-
- def try_obtain_lease_for(instance_level_service_id)
- Gitlab::ExclusiveLease
- .new("propagate_instance_level_service_worker:#{instance_level_service_id}", timeout: LEASE_TIMEOUT)
- .try_obtain
- end
-end
diff --git a/app/workers/propagate_service_template_worker.rb b/app/workers/propagate_service_template_worker.rb
new file mode 100644
index 00000000000..73a2b453207
--- /dev/null
+++ b/app/workers/propagate_service_template_worker.rb
@@ -0,0 +1,26 @@
+# frozen_string_literal: true
+
+# Worker for updating any project specific caches.
+class PropagateServiceTemplateWorker
+ include ApplicationWorker
+
+ feature_category :source_code_management
+
+ LEASE_TIMEOUT = 4.hours.to_i
+
+ # rubocop: disable CodeReuse/ActiveRecord
+ def perform(template_id)
+ return unless try_obtain_lease_for(template_id)
+
+ Projects::PropagateServiceTemplate.propagate(Service.find_by(id: template_id))
+ end
+ # rubocop: enable CodeReuse/ActiveRecord
+
+ private
+
+ def try_obtain_lease_for(template_id)
+ Gitlab::ExclusiveLease
+ .new("propagate_service_template_worker:#{template_id}", timeout: LEASE_TIMEOUT)
+ .try_obtain
+ end
+end