mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 07:27:15 +08:00
fix(agent): map closed database worker to 503
This commit is contained in:
@@ -5,7 +5,6 @@
|
||||
"""
|
||||
|
||||
from app.api.dependencies.agent import (
|
||||
get_agent_chat_persistence,
|
||||
get_agent_chat_service,
|
||||
get_message_query_service,
|
||||
)
|
||||
@@ -53,7 +52,6 @@ from app.api.dependencies.workflow import (
|
||||
|
||||
# 兼容聚合入口只显式列出既有 FastAPI 依赖,不向插件制造新的动态导出规则。
|
||||
__all__ = [
|
||||
"get_agent_chat_persistence",
|
||||
"get_agent_chat_service",
|
||||
"get_auth_service",
|
||||
"get_current_active_manage_user",
|
||||
|
||||
+10
-3
@@ -14,7 +14,10 @@ from app.adapters.observability.otel import build_observation_port
|
||||
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.application.database import DatabaseWorkerOverloadedError
|
||||
from app.application.database import (
|
||||
DatabaseWorkerClosedError,
|
||||
DatabaseWorkerOverloadedError,
|
||||
)
|
||||
from app.adapters.web.security.access import (
|
||||
configure_token_codec,
|
||||
verify_apikey,
|
||||
@@ -234,9 +237,9 @@ async def localized_http_exception_handler(
|
||||
|
||||
async def database_worker_overloaded_handler(
|
||||
request: Request,
|
||||
_exc: DatabaseWorkerOverloadedError,
|
||||
_exc: DatabaseWorkerClosedError | DatabaseWorkerOverloadedError,
|
||||
) -> JSONResponse:
|
||||
"""将数据库短事务背压映射为可重试的 503 响应。"""
|
||||
"""将数据库 worker 暂不可用映射为可重试的 503 响应。"""
|
||||
return await localized_http_exception_handler(
|
||||
request,
|
||||
HTTPException(
|
||||
@@ -335,6 +338,10 @@ def create_app() -> FastAPI:
|
||||
DatabaseWorkerOverloadedError,
|
||||
database_worker_overloaded_handler,
|
||||
)
|
||||
_app.add_exception_handler(
|
||||
DatabaseWorkerClosedError,
|
||||
database_worker_overloaded_handler,
|
||||
)
|
||||
_app.add_exception_handler(
|
||||
RequestValidationError,
|
||||
localized_validation_exception_handler,
|
||||
|
||||
Reference in New Issue
Block a user