feat(worker): render_edit_plan 接入 Feature Flag 灰度控制 (#240) #240

Merged
xiaoxia merged 1 commits from feat/render-edit-plan-ff into develop 2026-07-13 10:27:25 +08:00
Owner

变更内容

render_edit_plan(编辑方案渲染)任务接入 Feature Flag 灰度控制,与 compose_video 保持一致的灰度策略。

核心变更

  1. 引擎选择:新增 _resolve_render_engine(),根据 Redis Feature Flag (render_engine) 决定走 legacy 还是 unified
  2. legacy 路径_render_with_legacy() — 使用 VideoComposeService 生成 FFmpeg filter_complex 命令执行
  3. unified 路径_render_with_unified() — 使用 UnifiedRenderService 图层架构渲染
  4. 公共工具:抽取 _mark_plan_failed()_finalize_render_success(),减少两条路径的重复代码
  5. 结果字段:返回值增加 engine 字段,便于灰度观测和对比

灰度策略(与 compose_video 一致)

  • 默认走 legacy,不影响现有功能
  • Feature Flag 白名单 / 百分比命中 → 切 unified
  • Redis 不可用时自动降级到 legacy
  • plan.created_by_user_id 做用户级灰度(同一用户始终落在同一侧)

测试

  • 修复 test_edit_plan_worker_failure.pyStubEditPlan 缺少 created_by_user_id / project_id 属性
  • 1429 个单测全绿
  • black + isort + flake8 格式检查通过
## 变更内容 `render_edit_plan`(编辑方案渲染)任务接入 Feature Flag 灰度控制,与 `compose_video` 保持一致的灰度策略。 ### 核心变更 1. **引擎选择**:新增 `_resolve_render_engine()`,根据 Redis Feature Flag (`render_engine`) 决定走 legacy 还是 unified 2. **legacy 路径**:`_render_with_legacy()` — 使用 `VideoComposeService` 生成 FFmpeg filter_complex 命令执行 3. **unified 路径**:`_render_with_unified()` — 使用 `UnifiedRenderService` 图层架构渲染 4. **公共工具**:抽取 `_mark_plan_failed()` 和 `_finalize_render_success()`,减少两条路径的重复代码 5. **结果字段**:返回值增加 `engine` 字段,便于灰度观测和对比 ### 灰度策略(与 compose_video 一致) - 默认走 legacy,不影响现有功能 - Feature Flag 白名单 / 百分比命中 → 切 unified - Redis 不可用时自动降级到 legacy - 按 `plan.created_by_user_id` 做用户级灰度(同一用户始终落在同一侧) ### 测试 - 修复 `test_edit_plan_worker_failure.py` 的 `StubEditPlan` 缺少 `created_by_user_id` / `project_id` 属性 - 1429 个单测全绿 - black + isort + flake8 格式检查通过
xiaoxia added 1 commit 2026-07-13 09:33:54 +08:00
feat(worker): render_edit_plan 接入 Feature Flag 灰度控制
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 16m42s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 20m28s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 15m0s
100c8e01aa
- 新增 _resolve_render_engine() 根据 Redis Feature Flag 选择引擎
- 新增 _render_with_unified() — 统一渲染引擎路径(UnifiedRenderService)
- 新增 _render_with_legacy() — 旧引擎路径(VideoComposeService + FFmpeg)
- 抽公共 _mark_plan_failed() / _finalize_render_success() 减少重复
- 默认走 legacy,灰度白名单/百分比命中才切 unified
- 结果返回增加 engine 字段,便于灰度观测
- 修复测试 StubEditPlan 缺 created_by_user_id 属性
xiaoxia force-pushed feat/render-edit-plan-ff from 6def1b188f to 100c8e01aa 2026-07-13 09:33:54 +08:00 Compare
xiaoxia merged commit bbe831f9e0 into develop 2026-07-13 10:27:25 +08:00
xiaoxia deleted branch feat/render-edit-plan-ff 2026-07-13 10:27:25 +08:00
Sign in to join this conversation.