fix: 批量任务明细写完再排队(CREATING 状态)
`create_job` 先把任务行以 QUEUED 入库(引擎立刻可见),再逐条登记明细(扫描 媒体库时 500+ 条要数秒);引擎轮询到的快照可能还没包含剩余明细,收尾时"无未结束 明细"检查也看不到它们,于是把任务误标 COMPLETED,剩余视频永远不再被处理。 - 任务行改以 `CREATING` 入库,明细全部登记完才置 QUEUED(引擎只取 QUEUED, 看不到半成品);登记中途异常置 FAILED 并把异常交给路由层。 - 启动时把上一进程遗留的 CREATING 统一置 FAILED(`fail_creating_batch_jobs`), 避免明细写一半被热重载/强杀后留下看不见的残留任务。 - 回归测试:明细每写一条就问一次引擎队列(写入过程中取不到任务);中途失败记 FAILED;启动清理遗留 CREATING。
This commit is contained in:
+4
-1
@@ -64,7 +64,10 @@
|
||||
空列表不报 500)。只暴露目录名,不返回文件内容。
|
||||
- **创建任务时一次性定位(2026-09 起)**:`POST /api/batch/jobs {folder,
|
||||
workflow_id, recursive}` 只扫描一次文件夹并把每个视频登记为 `batch_videos`
|
||||
明细(PENDING/RUNNING/PAUSED/COMPLETED/FAILED/SKIPPED)。**视频所在目录
|
||||
明细(PENDING/RUNNING/PAUSED/COMPLETED/FAILED/SKIPPED)。任务行先以
|
||||
`CREATING` 入库、**明细全部登记完才置 QUEUED**:否则引擎会在明细写一半时拾起
|
||||
任务、收尾把任务误标 COMPLETED(理由见
|
||||
[decisions.md](./decisions.md#批量任务先写明细再排队creating-状态))。**视频所在目录
|
||||
(视频旁)若已存在文件名含视频名的字幕文件**(`.srt/.ass/.ssa/.vtt`,
|
||||
`list_sidecar_subtitles` 判定,如 `movie.CN.srt`、`movie.CN_dual_eye.ass`),
|
||||
说明该视频已有字幕,创建即记 **SKIPPED**——不为它触发任何流水线。运行时
|
||||
|
||||
Reference in New Issue
Block a user