diff --git a/apps/worker/worker_app/tasks/generation.py b/apps/worker/worker_app/tasks/generation.py index 4e866227a..e40f74e52 100644 --- a/apps/worker/worker_app/tasks/generation.py +++ b/apps/worker/worker_app/tasks/generation.py @@ -699,16 +699,16 @@ def generate_video(self, task_id: str) -> dict: task_info=task_info, ) ) - - if gen_task: - gen_task.append_log("渲染", f"渲染完成, 时长={render_duration:.1f}s") - _flush_logs(task_id, gen_task) - - _update_task_progress(task_id, 80, "渲染完成") - - # ── 4. 上传 OSS + 查重记录(临时目录在 finally 中清理)─────── - _update_task_progress(task_id, 85, "开始上传") + # 从这里开始,render_temp_dir 已赋值,必须确保异常时也能清理 try: + if gen_task: + gen_task.append_log("渲染", f"渲染完成, 时长={render_duration:.1f}s") + _flush_logs(task_id, gen_task) + + _update_task_progress(task_id, 80, "渲染完成") + + # ── 4. 上传 OSS + 查重记录 ─────────────────────────────── + _update_task_progress(task_id, 85, "开始上传") file_url, duration, file_size, video_count = _upload_and_record( task_id=task_id, output_path=output_path, @@ -730,7 +730,7 @@ def generate_video(self, task_id: str) -> dict: _update_task_progress(task_id, 95, "上传完成") finally: - # 清理渲染临时目录(无论上传成功与否都清理) + # 清理渲染临时目录(无论后续步骤成功与否都清理) if render_temp_dir: import shutil