feat(unified-render): Phase 2 - Feature Flag + RenderAdapter 适配层 #231
Reference in New Issue
Block a user
Delete Branch "feat/unified-render-phase2"
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?
统一渲染引擎 Phase 2 - Feature Flag 开关 + 适配层
变更内容
Feature Flag 开关
Settings.RENDER_ENGINE(默认legacy)WorkerSettings.render_engine(默认legacy)RENDER_ENGINE=unified一键切换RenderAdapter 适配层 (
apps/worker/video_processing/render_adapter.py)validate_plan()兼容旧接口,便于灰度切换compose_video 任务改造
RENDER_ENGINE配置分流到 legacy / unified 路径测试
灰度策略
legacy,不影响现有功能RENDER_ENGINE=unified即可切换代码审计报告 — PR #231 Phase 2 Feature Flag + RenderAdapter
结论:✅ 审查通过,可合并
总体评价
代码质量高,结构清晰,职责划分明确。Feature Flag 默认
legacy安全,新旧引擎分流逻辑正确,错误处理和重试机制与旧引擎对齐,单测覆盖充分(16个 adapter 测试 + 52个 unified render 测试 + 16个旧引擎测试,共 84 个渲染相关测试全部通过)。改动范围(6个文件,+869/-65)
apps/api/app/config.pyRENDER_ENGINE配置,默认legacyapps/worker/worker_app/core/config.pyapps/worker/video_processing/__init__.pyapps/worker/video_processing/render_adapter.pyapps/worker/worker_app/tasks/compose_video.pytests/unit/test_render_adapter.pyP0 高危问题:0 个 ✅
P1 重要问题:0 个 ✅
P2 建议修复:2 个
1.
validate_plan缺少 duration=0 的 warning 检查render_adapter.py的validate_plan方法validate_compose会对duration <= 0的 ready 片段输出 warning,新引擎validate_plan缺少此项检查2.
clip_count返回值可能不准确render_adapter.py的render_plan方法clip_count使用的是len(ready_clips)(就绪片段数),而非实际参与渲染的片段数。如果部分素材下载失败,实际渲染的 clips 会更少len(asset_path_map)或在渲染后从结果中获取实际渲染数量P3 优化建议:2 个
1.
output_path字段对新引擎意义不大result_data中的output_path指向已删除的文件2. 素材存在性双重检查
RenderAdapter._download_assets已过滤下载失败的素材UnifiedRenderService._resolve_clips又做了一次asset_path_map.get()检查关键验证点
CI 状态