summaryrefslogtreecommitdiff
path: root/app/workers/cleanup_container_repository_worker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/workers/cleanup_container_repository_worker.rb')
-rw-r--r--app/workers/cleanup_container_repository_worker.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/app/workers/cleanup_container_repository_worker.rb b/app/workers/cleanup_container_repository_worker.rb
index 4469ea8cff9..80cc296fff5 100644
--- a/app/workers/cleanup_container_repository_worker.rb
+++ b/app/workers/cleanup_container_repository_worker.rb
@@ -16,9 +16,17 @@ class CleanupContainerRepositoryWorker # rubocop:disable Scalability/IdempotentW
return unless valid?
- Projects::ContainerRepository::CleanupTagsService
+ if run_by_container_expiration_policy?
+ container_repository.start_expiration_policy!
+ end
+
+ result = Projects::ContainerRepository::CleanupTagsService
.new(project, current_user, params)
.execute(container_repository)
+
+ if run_by_container_expiration_policy? && result[:status] == :success
+ container_repository.reset_expiration_policy_started_at!
+ end
end
private
@@ -30,7 +38,7 @@ class CleanupContainerRepositoryWorker # rubocop:disable Scalability/IdempotentW
end
def run_by_container_expiration_policy?
- @params['container_expiration_policy'] && container_repository && project
+ @params['container_expiration_policy'] && container_repository.present? && project.present?
end
def project