Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2018-12-19 16:03:54 +0300
committerKamil Trzciński <ayufan@ayufan.eu>2018-12-19 16:03:54 +0300
commitf9fd9b1def8dec9800f8d3857ee278ed6dca03c3 (patch)
tree2cbb53d5c73df8dab9e7baf3d7f65230bab06858 /app/workers
parentfd86e7432744979c0f17fc0dcca157a6606a15c0 (diff)
parent752e9c18a1c2521636ddeec65b7bda2035ce1893 (diff)
Merge branch 'zj-pool-destruction' into 'master'
Leave object pools when destroying projects Closes gitaly#1415 See merge request gitlab-org/gitlab-ce!23869
Diffstat (limited to 'app/workers')
-rw-r--r--app/workers/all_queues.yml1
-rw-r--r--app/workers/object_pool/destroy_worker.rb16
2 files changed, 17 insertions, 0 deletions
diff --git a/app/workers/all_queues.yml b/app/workers/all_queues.yml
index bc26b3f8ef2..f9928362290 100644
--- a/app/workers/all_queues.yml
+++ b/app/workers/all_queues.yml
@@ -88,6 +88,7 @@
- object_pool:object_pool_create
- object_pool:object_pool_schedule_join
- object_pool:object_pool_join
+- object_pool:object_pool_destroy
- default
- mailers # ActionMailer::DeliveryJob.queue_name
diff --git a/app/workers/object_pool/destroy_worker.rb b/app/workers/object_pool/destroy_worker.rb
new file mode 100644
index 00000000000..ca00d467d9b
--- /dev/null
+++ b/app/workers/object_pool/destroy_worker.rb
@@ -0,0 +1,16 @@
+# frozen_string_literal: true
+
+module ObjectPool
+ class DestroyWorker
+ include ApplicationWorker
+ include ObjectPoolQueue
+
+ def perform(pool_repository_id)
+ pool = PoolRepository.find_by_id(pool_repository_id)
+ return unless pool&.obsolete?
+
+ pool.delete_object_pool
+ pool.destroy
+ end
+ end
+end