From 9358dd62bd858378a4785ea69d3ef21b4be19120 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Wed, 15 Jul 2026 11:42:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=89=AA=E8=BE=91=E8=AE=A1=E5=88=92resu?= =?UTF-8?q?lt=5Fcount=E4=BF=AE=E6=AD=A3=20+=20=E4=BB=BB=E5=8A=A1logs?= =?UTF-8?q?=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复2个bug: 1. result_count错误:多片段合成1个成片,result_count应为1而非片段数 2. logs为空:新增render_start/download_done/render_complete/render_failed四个关键节点日志 --- .../worker_app/tasks/edit_plan_generation.py | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/apps/worker/worker_app/tasks/edit_plan_generation.py b/apps/worker/worker_app/tasks/edit_plan_generation.py index cfef30096..4ca1cd3e0 100755 --- a/apps/worker/worker_app/tasks/edit_plan_generation.py +++ b/apps/worker/worker_app/tasks/edit_plan_generation.py @@ -107,6 +107,7 @@ def _mark_plan_failed(plan_repo, plan_id, gen_task_repo, generation_task_id, err gen_task.status = "failed" gen_task.error_message = error_msg gen_task.completed_at = datetime.now(timezone.utc) + gen_task.append_log("render_failed", error_msg, level="ERROR") gen_task_repo.update(gen_task) @@ -172,8 +173,13 @@ def _finalize_render_success( if gen_task: gen_task.status = "completed" gen_task.progress = 100.0 - gen_task.result_count = len(rendered_clip_ids) + # 剪辑计划是多片段合成1个成片,result_count = 生成视频数量(1),不是片段数 + gen_task.result_count = 1 gen_task.completed_at = datetime.now(timezone.utc) + gen_task.append_log( + "render_complete", + f"渲染完成:时长{duration:.1f}s,成功{len(rendered_clip_ids)}片段,失败{len(failed_clip_ids)}片段", + ) gen_task_repo.update(gen_task) logger.info( @@ -377,6 +383,7 @@ def render_edit_plan(self, plan_id: str) -> dict: if gen_task: gen_task.status = "running" gen_task.started_at = datetime.now(timezone.utc) + gen_task.append_log("render_start", f"开始渲染,引擎={engine},片段数={len(clips)}") gen_task_repo.update(gen_task) # 3. 下载素材并构建 asset_path_map @@ -441,9 +448,20 @@ def render_edit_plan(self, plan_id: str) -> dict: gen_task.status = "failed" gen_task.error_message = "所有片段素材下载失败" gen_task.completed_at = datetime.now(timezone.utc) + gen_task.append_log("download_failed", "所有片段素材下载失败", level="ERROR") gen_task_repo.update(gen_task) return {"status": "error", "message": "所有片段素材下载失败"} + # 下载完成,记录日志 + if generation_task_id: + gen_task = gen_task_repo.get(generation_task_id) + if gen_task: + gen_task.append_log( + "download_done", + f"素材下载完成:成功{len(asset_path_map)}个,失败{len(failed_clip_ids)}个", + ) + gen_task_repo.update(gen_task) + # 4. 根据引擎选择渲染方式 if engine == "unified": result = _render_with_unified( -- 2.54.0