c96ebfb4ae
- 新增 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 异常降级
25 lines
717 B
Python
Executable File
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",
|
|
]
|