mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 07:27:15 +08:00
fix(persistence): separate retryable rejection errors (#6423)
This commit is contained in:
+6
-11
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user