fix(persistence): separate retryable rejection errors (#6423)

This commit is contained in:
InfinityPacer
2026-08-23 20:10:59 +08:00
committed by GitHub
parent 46d5c8538e
commit c6ffc309d4
8 changed files with 79 additions and 48 deletions
+6 -11
View File
@@ -15,8 +15,7 @@ from app.adapters.web.plugin.routes import FastAPIDynamicRouteRegistry
from app.adapters.web.health import install_health_routes
from app.application.plugin.routes import configure_plugin_routes
from app.schemas.exception import (
DatabaseWorkerClosedError,
DatabaseWorkerOverloadedError,
PersistenceUnavailableError,
)
from app.adapters.web.security.access import (
configure_token_codec,
@@ -235,11 +234,11 @@ async def localized_http_exception_handler(
)
async def database_worker_overloaded_handler(
async def persistence_unavailable_handler(
request: Request,
_exc: DatabaseWorkerClosedError | DatabaseWorkerOverloadedError,
_exc: PersistenceUnavailableError,
) -> JSONResponse:
"""数据库 worker 暂不可用映射为可重试的 503 响应。"""
"""持久化能力暂不可用映射为可重试的 503 响应。"""
return await localized_http_exception_handler(
request,
HTTPException(
@@ -335,12 +334,8 @@ def create_app() -> FastAPI:
_app.add_exception_handler(HTTPException, localized_http_exception_handler)
_app.add_exception_handler(
DatabaseWorkerOverloadedError,
database_worker_overloaded_handler,
)
_app.add_exception_handler(
DatabaseWorkerClosedError,
database_worker_overloaded_handler,
PersistenceUnavailableError,
persistence_unavailable_handler,
)
_app.add_exception_handler(
RequestValidationError,