mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
- 删除全部 Python 源码 (src/) 及 Alembic 迁移脚本,归档至 _deprecated_py_src/ - 重构 Rust gateway ai_pipeline: 拆分 planner/finalize 模块,新增 contracts/adaptation 层 - 重组 handlers 模块为 admin/public/proxy/internal/shared 子模块结构 - 新增 executor 模块,引入 Rust 原生数据库迁移 (aether-data/migrations) - 简化 CI/Docker 构建流程,移除 base image 二级构建,统一为单一 app image - 移除 Python 相关基础设施文件 (entrypoint.sh, gunicorn_conf.py, Dockerfile.base)
44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
from collections.abc import Callable
|
|
from typing import Any
|
|
|
|
|
|
class AsyncSubmitRuleDeciderService:
|
|
"""异步提交故障转移规则判定服务。"""
|
|
|
|
def __init__(
|
|
self,
|
|
*,
|
|
match_provider_failover_rule: Callable[..., str | None],
|
|
) -> None:
|
|
self._match_provider_failover_rule = match_provider_failover_rule
|
|
|
|
def detect_error_stop_pattern(
|
|
self,
|
|
*,
|
|
candidate: Any,
|
|
response_text: str,
|
|
status_code: int,
|
|
) -> str | None:
|
|
return self._match_provider_failover_rule(
|
|
candidate,
|
|
is_success=False,
|
|
response_text=response_text,
|
|
status_code=status_code,
|
|
)
|
|
|
|
def detect_success_failover_pattern(
|
|
self,
|
|
*,
|
|
candidate: Any,
|
|
response_text: str,
|
|
status_code: int,
|
|
) -> str | None:
|
|
return self._match_provider_failover_rule(
|
|
candidate,
|
|
is_success=True,
|
|
response_text=response_text,
|
|
status_code=status_code,
|
|
)
|