diff options
author | Jan Provaznik <jprovaznik@gitlab.com> | 2018-06-12 10:33:26 +0300 |
---|---|---|
committer | Jan Provaznik <jprovaznik@gitlab.com> | 2018-06-12 10:34:07 +0300 |
commit | cdd7dfc448fcb6bbcdb62aaac65a3af797f0f69a (patch) | |
tree | 8a11eb0832efcfae10d4d01db28278f5972c820f | |
parent | c3f499e7c8656fa09b333b88950c70f7377f95f9 (diff) |
Override exclusive_lease_key method in RecordsUpload
-rw-r--r-- | app/uploaders/object_storage.rb | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/app/uploaders/object_storage.rb b/app/uploaders/object_storage.rb index d8ec5a81968..f5b466a1aba 100644 --- a/app/uploaders/object_storage.rb +++ b/app/uploaders/object_storage.rb @@ -62,6 +62,15 @@ module ObjectStorage upload.id) end + def exclusive_lease_key + # For FileUploaders, model may have many uploaders. In that case + # we want to use exclusive key per upload, not per model to allow + # parallel migration + key_object = upload ? upload : model + + "object_storage_migrate:#{key_object.class}:#{key_object.id}" + end + private def current_upload_satisfies?(paths, model) @@ -299,12 +308,7 @@ module ObjectStorage end def exclusive_lease_key - # For FileUploaders, model may have many uploaders. In that case - # we want to use exclusive key per upload, not per model to allow - # parallel migration - key_object = self.is_a?(RecordsUploads::Concern) && upload ? upload : model - - "object_storage_migrate:#{key_object.class}:#{key_object.id}" + "object_storage_migrate:#{model.class}:#{model.id}" end private |