diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-12-19 16:03:54 +0300 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-12-19 16:03:54 +0300 |
commit | f9fd9b1def8dec9800f8d3857ee278ed6dca03c3 (patch) | |
tree | 2cbb53d5c73df8dab9e7baf3d7f65230bab06858 /app/workers | |
parent | fd86e7432744979c0f17fc0dcca157a6606a15c0 (diff) | |
parent | 752e9c18a1c2521636ddeec65b7bda2035ce1893 (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.yml | 1 | ||||
-rw-r--r-- | app/workers/object_pool/destroy_worker.rb | 16 |
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 |