From f6bc150e8e8e0a0c7b3bc1b73674f5b60bf50450 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20K=C3=BCnzel?= <simonk@fsmpi.rwth-aachen.de> Date: Fri, 23 May 2025 01:11:07 +0200 Subject: [PATCH] Fix lecture media duration not being updated properly --- job_controller/jobs/media_process_scheduler/job.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/job_controller/jobs/media_process_scheduler/job.py b/job_controller/jobs/media_process_scheduler/job.py index 3509ed7..d6b63e9 100644 --- a/job_controller/jobs/media_process_scheduler/job.py +++ b/job_controller/jobs/media_process_scheduler/job.py @@ -108,8 +108,6 @@ class ProcessScheduler: if self._process.publish_wait_for_full_process and missing_targets: return - publish_media_to_delete_due_to_metadata_conflicts = [] - # Publish new media for target_id in self._process.publish_target_ids: if target_id not in self._produced_media: @@ -165,6 +163,10 @@ class ProcessScheduler: f"Publishing {target_id} (metadata {new_metadata.id}) by creating a " f"new publish medium") + # Lecture doesn't know about the new publish media and that relationship is readonly. So we do a refresh. + self._session.flush() + self._session.refresh(self._lecture, ["publish_media"]) + # Delete old publish media for publish_medium in self._lecture.publish_media: assert isinstance(publish_medium.medium_metadata, MediumMetadata) -- GitLab