debian-mirror-gitlab/app/workers/expire_build_artifacts_worker.rb

30 lines
808 B
Ruby
Raw Normal View History

2018-11-08 19:23:39 +05:30
# frozen_string_literal: true
class ExpireBuildArtifactsWorker
2018-03-17 18:26:18 +05:30
include ApplicationWorker
2016-11-03 12:29:30 +05:30
include CronjobQueue
def perform
2019-03-02 22:35:43 +05:30
if Feature.enabled?(:ci_new_expire_job_artifacts_service, default_enabled: true)
perform_efficient_artifacts_removal
else
perform_legacy_artifacts_removal
end
end
def perform_efficient_artifacts_removal
Ci::DestroyExpiredJobArtifactsService.new.execute
end
# rubocop: disable CodeReuse/ActiveRecord
def perform_legacy_artifacts_removal
2016-11-03 12:29:30 +05:30
Rails.logger.info 'Scheduling removal of build artifacts'
2016-11-03 12:29:30 +05:30
build_ids = Ci::Build.with_expired_artifacts.pluck(:id)
build_ids = build_ids.map { |build_id| [build_id] }
2018-03-17 18:26:18 +05:30
ExpireBuildInstanceArtifactsWorker.bulk_perform_async(build_ids)
end
2018-12-05 23:21:45 +05:30
# rubocop: enable CodeReuse/ActiveRecord
end