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:
Diffstat (limited to 'app/models/packages/cleanup/policy.rb')
-rw-r--r--app/models/packages/cleanup/policy.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/app/models/packages/cleanup/policy.rb b/app/models/packages/cleanup/policy.rb
index d7df90a4ce0..35f58f3680d 100644
--- a/app/models/packages/cleanup/policy.rb
+++ b/app/models/packages/cleanup/policy.rb
@@ -23,10 +23,25 @@ module Packages
where.not(keep_n_duplicated_package_files: 'all')
end
+ def self.with_packages
+ exists_select = ::Packages::Package.installable
+ .where('packages_packages.project_id = packages_cleanup_policies.project_id')
+ .select(1)
+ where('EXISTS (?)', exists_select)
+ end
+
+ def self.runnable
+ runnable_schedules.with_packages.order(next_run_at: :asc)
+ end
+
def set_next_run_at
# fixed cadence of 12 hours
self.next_run_at = Time.zone.now + 12.hours
end
+
+ def keep_n_duplicated_package_files_disabled?
+ keep_n_duplicated_package_files == 'all'
+ end
end
end
end