Class: Gitlab::Cleanup::OrphanJobArtifactFinalObjects::ProcessList
- Inherits:
-
Object
- Object
- Gitlab::Cleanup::OrphanJobArtifactFinalObjects::ProcessList
- Defined in:
- lib/gitlab/cleanup/orphan_job_artifact_final_objects/process_list.rb
Constant Summary collapse
- BATCH_SIZE =
Rails.env.development? ? 5 : 1000
- DELETED_LIST_FILENAME_PREFIX =
'deleted_from--'
- CURSOR_TRACKER_REDIS_KEY_PREFIX =
'orphan-job-artifact-objects-cleanup-cursor-tracker--'
Instance Method Summary collapse
-
#initialize(filename: nil, force_restart: false, logger: Gitlab::AppLogger) ⇒ ProcessList
constructor
A new instance of ProcessList.
- #run! ⇒ Object
Constructor Details
#initialize(filename: nil, force_restart: false, logger: Gitlab::AppLogger) ⇒ ProcessList
Returns a new instance of ProcessList.
11 12 13 14 15 16 17 |
# File 'lib/gitlab/cleanup/orphan_job_artifact_final_objects/process_list.rb', line 11 def initialize(filename: nil, force_restart: false, logger: Gitlab::AppLogger) @force_restart = force_restart @logger = logger @orphan_list_filename = filename || GenerateList::DEFAULT_FILENAME @deleted_list_filename = build_deleted_list_filename @cursor_tracker_key = build_cursor_tracker_key end |
Instance Method Details
#run! ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/gitlab/cleanup/orphan_job_artifact_final_objects/process_list.rb', line 19 def run! log_info("Processing #{orphan_list_filename}...") initialize_files each_batch do |entries| orphans_from_batch(entries).each do |fog_file| delete_orphan_object(fog_file) end end log_info("Done. All deleted objects are listed in #{deleted_list_filename}.") ensure orphan_list_file&.close deleted_list_file&.close end |