Files
xiaoxia-saas/apps/worker/video_processing/__init__.py
T
灵应 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

25 lines
717 B
Python
Executable File

"""
视频处理模块
"""
# 共享工具模块(供 editing_modes / generation / edit_plan_generation 等复用)
from . import dedup_helpers, ffmpeg_utils, oss_helpers
from .processor import VideoProcessor, VideoResult
from .render_adapter import RenderAdapter, RenderAdapterResult
from .unified_render_service import RenderResult, UnifiedRenderService
from .render_engine_resolver import RenderEngineResolver, get_render_engine_resolver
__all__ = [
"VideoProcessor",
"VideoResult",
"ffmpeg_utils",
"oss_helpers",
"dedup_helpers",
"UnifiedRenderService",
"RenderResult",
"RenderAdapter",
"RenderAdapterResult",
"RenderEngineResolver",
"get_render_engine_resolver",
]