diff --git a/job_controller/jobs/media_process_scheduler/job.py b/job_controller/jobs/media_process_scheduler/job.py index 3509ed76f8dea961c4448e7acd81cbcb6a9357a3..d6b63e9da1710413a4db510ee2fc4123c677a28b 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)