fix(ci): #2079 收敛 worker 部署到 compose——消除并发/HC 配置漂移 #2081
Reference in New Issue
Block a user
Delete Branch "fix/ci-worker-compose-deploy"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
每次 CI staging 部署或 watchtower 自动重建后,worker 的并发会被重置为 1,三进程架构所需的 GENERATION_CONCURRENCY/TRANSCODE_CONCURRENCY/BEAT_ENABLED 丢失,health-cmd 也把 beat 算为存活进程。
根因
scripts/ci_staging_deploy.sh 的 worker 启动块(部署段 ~L505-525 + 回滚段 ~L191-210)使用 docker run 硬编码
-e WORKER_CONCURRENCY=1,未透传三进程架构的新环境变量;health-cmdgrep -lq celery /proc/[0-9]*/cmdline会匹配到 beat 进程(非 worker)。每次部署都把 infra/docker/compose.yml 中定义的正确配置覆盖掉,导致配置反复漂移。
修改
celery.*worker不匹配 beat、4C8G 资源限制)影响
- 新增 ConfirmGenerationRequest schema 和 POST /tasks/{task_id}/confirm 端点 - 确认生成复用 worker.generate_video 完整渲染路径(不再走 edit_plan_generation.py) - 默认分辨率 1080x1920(竖屏),支持自定义封面和标题 - 新增字段: is_preview, source_task_id, output_width, output_height, cover_url, custom_title - 贯穿 Schema → Domain → Application → DB Model → Repository → Worker 全链路 - 更新 task_center.py 和 generation_tasks.py 的重试逻辑传递新字段 - Alembic 迁移 034: 为 generation_tasks 表添加 6 个新列 - 7 个单元测试覆盖确认生成的正常/异常流程 - 使用 getattr 带默认值确保向后兼容🚀 预览环境已部署
🗑️ 预览环境已清理
PR #2081 已关闭或合并,对应的预览环境已被清理。