summaryrefslogtreecommitdiff
path: root/app/workers/project_cache_worker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers/project_cache_worker.rb')
-rw-r--r--app/workers/project_cache_worker.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/app/workers/project_cache_worker.rb b/app/workers/project_cache_worker.rb
index a993b4b2680..b594d0427e7 100644
--- a/app/workers/project_cache_worker.rb
+++ b/app/workers/project_cache_worker.rb
@@ -33,8 +33,9 @@ class ProjectCacheWorker
private
def try_obtain_lease_for(project_id, section)
- Gitlab::ExclusiveLease
- .new("project_cache_worker:#{project_id}:#{section}", timeout: LEASE_TIMEOUT)
- .try_obtain
+ lease_key = "project_cache_worker:#{project_id}:#{section}"
+ lease_uuid = Gitlab::ExclusiveLease.new(lease_key, timeout: LEASE_TIMEOUT).try_obtain
+ ensure
+ Gitlab::ExclusiveLease.cancel(lease_key, lease_uuid) if defined?(lease_key) && defined?(lease_uuid)
end
end