mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-12 14:10:19 +08:00
refactor: 统一任务框架 Phase 3 - 用 TaskService/FailoverEngine 替代 FallbackOrchestrator
核心重构:
- 移除 FallbackOrchestrator,用 TaskService + FailoverEngine 替代
- TaskService 作为统一入口,支持 SYNC/ASYNC 两种任务模式
- FailoverEngine 实现候选遍历、重试、故障转移逻辑
- 新增 AttemptFunc/AttemptResult 协议,统一尝试结果表示
功能改进:
- 流式响应首字节探测(30s 超时,空流触发故障转移)
- 流式取消归因优化(区分客户端断连 vs 服务端中断)
- 新增 OpenAI Sora 视频取消路由 POST /v1/videos/{task_id}/cancel
- OpenAI 流式请求自动添加 stream_options.include_usage
代码规范:
- 修复 loguru 日志格式(%s → {})
- 新增 FORMAT_CONVERSION_ENABLED 环境变量说明
测试覆盖:
- test_failover_engine.py: FailoverEngine 单元测试
- test_task_service_async_execute.py: TaskService ASYNC 模式测试
- test_video_cancel_e2e.py: 视频取消端到端测试
This commit is contained in:
@@ -49,3 +49,14 @@ ADMIN_PASSWORD=admin123456
|
||||
#
|
||||
# required 维度缺失时是否拒绝请求/标记任务失败(默认 false:cost=0 + 标记 incomplete)
|
||||
# BILLING_STRICT_MODE=false
|
||||
|
||||
# ==================== 格式转换(可选) ====================
|
||||
# FORMAT_CONVERSION_ENABLED: 总开关(默认 true)
|
||||
# - false: 禁止任何跨格式转换(即使端点 format_acceptance_config 已开启也不生效)
|
||||
# - true: 允许跨格式转换(是否允许仍取决于:全局覆盖/提供商覆盖/端点策略)
|
||||
# FORMAT_CONVERSION_ENABLED=true
|
||||
#
|
||||
# KEEP_PRIORITY_ON_CONVERSION: 跨格式转换时是否保持优先级(默认 false)
|
||||
# - false: needs_conversion 的候选会整体降级到 exact 候选之后(更安全)
|
||||
# - true: 所有候选保持原优先级(用于强制走某些 provider)
|
||||
# KEEP_PRIORITY_ON_CONVERSION=false
|
||||
|
||||
Reference in New Issue
Block a user