fix: generate_video 任务接入 Feature Flag 灰度引擎选择 #247

Merged
xiaoxia merged 1 commits from fix/generation-task-feature-flag into develop 2026-07-13 13:23:00 +08:00
Owner

问题

一键生成(generate_video)任务硬编码使用 UnifiedRenderService,完全没有接入 render_engine Feature Flag,导致灰度开关形同虚设,无法控制新旧引擎切换。这是灰度发布的 P0 阻断问题。

修复

  1. 新增 _resolve_render_engine(user_id) 函数,复用 RenderEngineResolver 灰度逻辑
  2. 新增 _render_with_legacy_engine() 函数,实现旧引擎等价渲染:
    • filter_complex + concat 模式
    • 保持原帧率(无 fps 归一化),与旧引擎行为一致
    • 音频 192k AAC,与旧引擎一致
    • 支持 one_take / pip / voice_over / voice_pip 全部模式
  3. 在 generate_video 任务入口处根据 Feature Flag 选择引擎
  4. 渲染日志新增 engine 字段,便于灰度观测

单测

8 个测试全部通过:

  • 5 个 Feature Flag 场景测试(全局开关/白名单/百分比/默认值)
  • 3 个 legacy 渲染集成测试(单clip/多clipconcat/b_roll模式)

验证

  • 语法检查通过
  • 8 个单测全绿
## 问题 一键生成(generate_video)任务硬编码使用 UnifiedRenderService,完全没有接入 render_engine Feature Flag,导致灰度开关形同虚设,无法控制新旧引擎切换。这是灰度发布的 P0 阻断问题。 ## 修复 1. 新增 `_resolve_render_engine(user_id)` 函数,复用 RenderEngineResolver 灰度逻辑 2. 新增 `_render_with_legacy_engine()` 函数,实现旧引擎等价渲染: - filter_complex + concat 模式 - 保持原帧率(无 fps 归一化),与旧引擎行为一致 - 音频 192k AAC,与旧引擎一致 - 支持 one_take / pip / voice_over / voice_pip 全部模式 3. 在 generate_video 任务入口处根据 Feature Flag 选择引擎 4. 渲染日志新增 engine 字段,便于灰度观测 ## 单测 8 个测试全部通过: - 5 个 Feature Flag 场景测试(全局开关/白名单/百分比/默认值) - 3 个 legacy 渲染集成测试(单clip/多clipconcat/b_roll模式) ## 验证 - 语法检查通过 - 8 个单测全绿
xiaoxia added 1 commit 2026-07-13 13:09:02 +08:00
fix: generate_video 任务接入 Feature Flag 灰度引擎选择
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 36s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m9s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m7s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 2m49s
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
1d06d2ddd2
问题:一键生成(generate_video)任务硬编码使用 UnifiedRenderService,
完全没有接入 render_engine Feature Flag,导致灰度开关形同虚设,
无法控制新旧引擎切换。

修复:
1. 新增 _resolve_render_engine(user_id) 函数,复用 RenderEngineResolver
2. 新增 _render_with_legacy_engine() 函数,实现旧引擎等价渲染
   - 使用 filter_complex + concat 模式
   - 保持原帧率(无 fps 归一化),与旧引擎行为一致
   - 音频 192k AAC,与旧引擎一致
   - 支持 one_take / pip / voice_over / voice_pip 全部模式
3. 在 generate_video 任务入口处根据 Feature Flag 选择引擎
4. 渲染日志新增 engine 字段,便于灰度观测

单测:8 个测试覆盖 flag 各场景 + legacy 渲染验证
xiaoxia merged commit c2ebe9d254 into develop 2026-07-13 13:23:00 +08:00
Sign in to join this conversation.