feat: 生成任务取消 - API接口 + Worker取消检查点 #391

Merged
xiaoxia merged 3 commits from feat/generation-task-cancel into develop 2026-07-17 07:17:26 +08:00

3 Commits

Author SHA1 Message Date
CI Bot 216a02005b style: auto-format with black + isort (runner env)
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 6s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 31s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 2m30s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 2m35s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m22s
2026-07-17 00:42:24 +08:00
CI Bot 9c2ffb32fc feat: worker渲染任务取消检查点 - 素材下载后检测cancelled状态
在渲染主流程中增加取消检查点:
- 素材下载完成后、启动FFmpeg前,检查generation_task状态
- 如果已被取消(cancelled),立即中止,不启动渲染
- 计划状态从 rendering 切回 editing,用户可继续编辑
- 与 API 层的取消接口配套

不修改 FFmpeg 运行时取消(后续迭代),覆盖排队/下载期间取消的场景
2026-07-17 00:42:22 +08:00
CI Bot ed849efbab feat: 生成任务取消接口 - POST /tasks/{task_id}/cancel
新增生成任务取消接口:
- 支持 pending / running 状态的任务取消
- 取消后状态变为 cancelled,记录取消日志
- 终态(completed/failed/cancelled)不可取消,返回 409
- 权限校验:只能取消自己创建的任务
- 复用领域模型已有的 mark_cancelled 方法
2026-07-17 00:42:19 +08:00