fix: 剪辑计划result_count修正 + 任务logs埋点 #355

Closed
xiaoxia wants to merge 1 commits from fix/edit-plan-result-count-and-logs into develop
@@ -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(