Skip to content

Commit 580bee4

Browse files
committed
refactor(cra): prioritize reference_id for job deletion in DeleteMediaJob
- Adjust logic in DeleteMediaJob to prefer reference_id for deleting jobs, ensuring all phase jobs are removed when available. - Maintain functionality for direct job deletion using id if reference_id is not present. - Improve logging for job deletions to enhance traceability.
1 parent e017bd2 commit 580bee4

1 file changed

Lines changed: 4 additions & 5 deletions

File tree

app/jobs/folio/cra_media_cloud/delete_media_job.rb

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,19 @@ def perform(id, reference_id: nil)
99
return
1010
end
1111

12-
if id.present?
13-
api.delete_job_content(id)
14-
elsif reference_id.present?
15-
# Get all jobs with this reference_id
12+
if reference_id.present?
13+
# Prefer reference_id — deletes all phase jobs (multi-phase encoding creates multiple jobs per ref)
1614
jobs = api.get_jobs(ref_id: reference_id)
1715

1816
if jobs.any?
19-
# Delete content for all jobs with this reference_id
2017
jobs.each do |job|
2118
Rails.logger.info "[CraMediaCloud::DeleteMediaJob] Deleting job content for job ID #{job['id']} (ref: #{reference_id})"
2219
api.delete_job_content(job["id"])
2320
end
2421
Rails.logger.info "[CraMediaCloud::DeleteMediaJob] Deleted content for #{jobs.size} job(s) with reference_id #{reference_id}"
2522
end
23+
elsif id.present?
24+
api.delete_job_content(id)
2625
end
2726
end
2827

0 commit comments

Comments
 (0)