Commit Graph

7 Commits

Author SHA1 Message Date
CI Bot e02a7475bc chore(format): fix black/isort after rebase to develop
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 34s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m50s
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 2m14s
2026-07-13 00:30:24 +08:00
灵应 c96ebfb4ae feat(feature-flag): Redis Feature Flag 灰度发布基础设施
- 新增 FeatureFlagStore 抽象 + Redis/InMemory 双实现
  - 支持全局开关 + 白名单 + 百分比切流(MD5哈希一致性)
  - 本地缓存 + TTL,减少 Redis 调用
  - Redis 不可用时自动降级,不影响业务

- 新增 RenderEngineResolver 渲染引擎选择器
  - 环境变量默认 + Redis 运行时覆盖,支持热更新
  - 按 user_id 灰度(白名单 > 百分比 > 默认值)
  - 惰性刷新,30秒刷新间隔
  - 在途任务不受配置变更影响(任务开始时确定引擎)

- 新增 /api/v1/internal/feature-flags 管理接口
  - GET 列表/详情、PUT 修改、DELETE 删除
  - /{name}/check 端点验证指定标识符是否命中
  - 复用内部 API Key 鉴权
  - ALLOWED_FLAGS 白名单防误操作

- compose_video 任务接入 RenderEngineResolver
  - 从 job.created_by_user_id 获取用户标识
  - 替换原环境变量直接读取方式

- 30 个单元测试全绿
  - FeatureFlagConfig 判定逻辑(优先级、边界、一致性)
  - InMemoryStore CRUD
  - RenderEngineResolver(白名单、百分比、默认值、降级、热更新不影响在途任务)
  - Redis 异常降级
2026-07-13 00:29:58 +08:00
xiaoxia 9e87ac05c6 style: fix isort imports + black formatting for render adapter (#234)
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 1m55s
CI/CD Pipeline / Frontend Lint (push) Successful in 4m4s
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Integration Tests (push) Successful in 2m21s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Successful in 8m56s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 2m5s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 4m51s
style: fix isort imports + black formatting for render adapter
2026-07-12 20:57:29 +08:00
xiaoxia 8427bb6852 feat(unified-render): Phase 2 - Feature Flag + RenderAdapter 适配层 (#231)
CI/CD Pipeline / Frontend Lint (push) Successful in 2m39s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 27s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Integration Tests (push) Successful in 2m15s
## 统一渲染引擎 Phase 2 - Feature Flag 开关 + 适配层

### 变更内容

1. **Feature Flag 开关**
   - API 端 `Settings.RENDER_ENGINE`(默认 `legacy`)
   - Worker 端 `WorkerSettings.render_engine`(默认 `legacy`)
   - 支持环境变量 `RENDER_ENGINE=unified` 一键切换

2. **RenderAdapter 适配层** (`apps/worker/video_processing/render_adapter.py`)
   - EditPlan + EditPlanClips → UnifiedRenderService 输入的完整适配
   - 素材自动下载(OSS → 本地路径映射)
   - 进度回调对接(ProgressCallback)
   - 结果自动上传 OSS
   - `validate_plan()` 兼容旧接口,便于灰度切换

3. **compose_video 任务改造**
   - 根据 `RENDER_ENGINE` 配置分流到 legacy / unified 路径
   - 新引擎结果回写字段对齐(engine/width/height/file_size)
   - 错误处理与重试逻辑保持一致

### 测试
- 新增 16 个单元测试:validate_plan(7) + render_plan(6) + download_assets(3)
- 原有 52 个 unified_render_service 测试全部通过
- 合计 **68 个测试全绿**

### 灰度策略
- 默认 `legacy`,不影响现有功能
- 灰度时设置环境变量 `RENDER_ENGINE=unified` 即可切换
- 后续可支持按 plan_id / user_id 灰度(Phase 3)

---------

Co-authored-by: 灵应 <lingying@coze.email>
Reviewed-on: #231
2026-07-12 19:43:08 +08:00
xiaoxia 4328854f58 feat: 统一渲染引擎 + 打通一键生成全链路
CI/CD Pipeline / Validate Code Quality And Tests (push) Successful in 1m7s
CI/CD Pipeline / Frontend Lint (push) Successful in 2m31s
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (push) Successful in 2m57s
CI/CD Pipeline / Staging API Integration Tests (push) Successful in 5m5s
CI/CD Pipeline / Staging E2E Tests (push) Successful in 5m29s
2026-07-09 22:59:19 +08:00
Xiaoxia AI bfbaddbd9a style: normalize python formatting gates 2026-06-21 06:52:19 +08:00
Xiaoxia AI 8493471c19 feat(project-d): implement real video generation pipeline with FFmpeg 2026-06-19 10:54:20 +08:00