diff options
Diffstat (limited to 'app/models/container_expiration_policy.rb')
-rw-r--r-- | app/models/container_expiration_policy.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/app/models/container_expiration_policy.rb b/app/models/container_expiration_policy.rb index b1dd720d908..641d244b665 100644 --- a/app/models/container_expiration_policy.rb +++ b/app/models/container_expiration_policy.rb @@ -3,6 +3,7 @@ class ContainerExpirationPolicy < ApplicationRecord include Schedulable include UsageStatistics + include EachBatch belongs_to :project, inverse_of: :container_expiration_policy @@ -19,6 +20,16 @@ class ContainerExpirationPolicy < ApplicationRecord scope :active, -> { where(enabled: true) } scope :preloaded, -> { preload(project: [:route]) } + def self.executable + runnable_schedules.where( + 'EXISTS (?)', + ContainerRepository.select(1) + .where( + 'container_repositories.project_id = container_expiration_policies.project_id' + ) + ) + end + def self.keep_n_options { 1 => _('%{tags} tag per image name') % { tags: 1 }, |