diff --git a/app/core/config.py b/app/core/config.py index d81b23a4..38cd33d7 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -114,7 +114,7 @@ class ConfigModel(BaseModel): # 数据库连接池获取连接的超时时间(秒) DB_POOL_TIMEOUT: int = 30 # SQLite 连接池大小 - DB_SQLITE_POOL_SIZE: int = 30 + DB_SQLITE_POOL_SIZE: int = 10 # SQLite 连接池溢出数量 DB_SQLITE_MAX_OVERFLOW: int = 50 # PostgreSQL 主机地址 @@ -128,7 +128,7 @@ class ConfigModel(BaseModel): # PostgreSQL 密码 DB_POSTGRESQL_PASSWORD: str = "moviepilot" # PostgreSQL 连接池大小 - DB_POSTGRESQL_POOL_SIZE: int = 30 + DB_POSTGRESQL_POOL_SIZE: int = 10 # PostgreSQL 连接池溢出数量 DB_POSTGRESQL_MAX_OVERFLOW: int = 50 diff --git a/app/factory.py b/app/factory.py index 6fec4dac..9408307d 100644 --- a/app/factory.py +++ b/app/factory.py @@ -1,5 +1,6 @@ from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware +from fastapi.responses import ORJSONResponse from app.core.config import settings from app.monitoring import setup_prometheus_metrics @@ -13,7 +14,8 @@ def create_app() -> FastAPI: _app = FastAPI( title=settings.PROJECT_NAME, openapi_url=f"{settings.API_V1_STR}/openapi.json", - lifespan=lifespan + lifespan=lifespan, + default_response_class=ORJSONResponse ) # 配置 CORS 中间件 diff --git a/app/helper/redis.py b/app/helper/redis.py index cd1d6a91..93424ecd 100644 --- a/app/helper/redis.py +++ b/app/helper/redis.py @@ -17,6 +17,11 @@ from app.utils.singleton import Singleton _complex_serializable_types = set() _simple_serializable_types = set() +# 默认连接参数 +_socket_timeout = 30 +_socket_connect_timeout = 5 +_health_check_interval = 60 + def serialize(value: Any) -> bytes: """ @@ -96,9 +101,9 @@ class RedisHelper(metaclass=Singleton): self.client = redis.Redis.from_url( self.redis_url, decode_responses=False, - socket_timeout=30, - socket_connect_timeout=5, - health_check_interval=60, + socket_timeout=_socket_timeout, + socket_connect_timeout=_socket_connect_timeout, + health_check_interval=_health_check_interval, ) # 测试连接,确保Redis可用 self.client.ping() @@ -317,10 +322,6 @@ class AsyncRedisHelper(metaclass=Singleton): - 所有操作都是异步的 """ - # 类型缓存集合,针对非容器简单类型 - _complex_serializable_types = set() - _simple_serializable_types = set() - def __init__(self): """ 初始化异步Redis助手实例 @@ -337,9 +338,9 @@ class AsyncRedisHelper(metaclass=Singleton): self.client = Redis.from_url( self.redis_url, decode_responses=False, - socket_timeout=30, - socket_connect_timeout=5, - health_check_interval=60, + socket_timeout=_socket_timeout, + socket_connect_timeout=_socket_connect_timeout, + health_check_interval=_health_check_interval, ) # 测试连接,确保Redis可用 await self.client.ping()