fix:优化参数、使用orjson

This commit is contained in:
jxxghp
2025-09-03 09:51:24 +08:00
parent 36a6802439
commit 39f6505a80
3 changed files with 16 additions and 13 deletions
+2 -2
View File
@@ -114,7 +114,7 @@ class ConfigModel(BaseModel):
# 数据库连接池获取连接的超时时间(秒) # 数据库连接池获取连接的超时时间(秒)
DB_POOL_TIMEOUT: int = 30 DB_POOL_TIMEOUT: int = 30
# SQLite 连接池大小 # SQLite 连接池大小
DB_SQLITE_POOL_SIZE: int = 30 DB_SQLITE_POOL_SIZE: int = 10
# SQLite 连接池溢出数量 # SQLite 连接池溢出数量
DB_SQLITE_MAX_OVERFLOW: int = 50 DB_SQLITE_MAX_OVERFLOW: int = 50
# PostgreSQL 主机地址 # PostgreSQL 主机地址
@@ -128,7 +128,7 @@ class ConfigModel(BaseModel):
# PostgreSQL 密码 # PostgreSQL 密码
DB_POSTGRESQL_PASSWORD: str = "moviepilot" DB_POSTGRESQL_PASSWORD: str = "moviepilot"
# PostgreSQL 连接池大小 # PostgreSQL 连接池大小
DB_POSTGRESQL_POOL_SIZE: int = 30 DB_POSTGRESQL_POOL_SIZE: int = 10
# PostgreSQL 连接池溢出数量 # PostgreSQL 连接池溢出数量
DB_POSTGRESQL_MAX_OVERFLOW: int = 50 DB_POSTGRESQL_MAX_OVERFLOW: int = 50
+3 -1
View File
@@ -1,5 +1,6 @@
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import ORJSONResponse
from app.core.config import settings from app.core.config import settings
from app.monitoring import setup_prometheus_metrics from app.monitoring import setup_prometheus_metrics
@@ -13,7 +14,8 @@ def create_app() -> FastAPI:
_app = FastAPI( _app = FastAPI(
title=settings.PROJECT_NAME, title=settings.PROJECT_NAME,
openapi_url=f"{settings.API_V1_STR}/openapi.json", openapi_url=f"{settings.API_V1_STR}/openapi.json",
lifespan=lifespan lifespan=lifespan,
default_response_class=ORJSONResponse
) )
# 配置 CORS 中间件 # 配置 CORS 中间件
+11 -10
View File
@@ -17,6 +17,11 @@ from app.utils.singleton import Singleton
_complex_serializable_types = set() _complex_serializable_types = set()
_simple_serializable_types = set() _simple_serializable_types = set()
# 默认连接参数
_socket_timeout = 30
_socket_connect_timeout = 5
_health_check_interval = 60
def serialize(value: Any) -> bytes: def serialize(value: Any) -> bytes:
""" """
@@ -96,9 +101,9 @@ class RedisHelper(metaclass=Singleton):
self.client = redis.Redis.from_url( self.client = redis.Redis.from_url(
self.redis_url, self.redis_url,
decode_responses=False, decode_responses=False,
socket_timeout=30, socket_timeout=_socket_timeout,
socket_connect_timeout=5, socket_connect_timeout=_socket_connect_timeout,
health_check_interval=60, health_check_interval=_health_check_interval,
) )
# 测试连接,确保Redis可用 # 测试连接,确保Redis可用
self.client.ping() self.client.ping()
@@ -317,10 +322,6 @@ class AsyncRedisHelper(metaclass=Singleton):
- 所有操作都是异步的 - 所有操作都是异步的
""" """
# 类型缓存集合,针对非容器简单类型
_complex_serializable_types = set()
_simple_serializable_types = set()
def __init__(self): def __init__(self):
""" """
初始化异步Redis助手实例 初始化异步Redis助手实例
@@ -337,9 +338,9 @@ class AsyncRedisHelper(metaclass=Singleton):
self.client = Redis.from_url( self.client = Redis.from_url(
self.redis_url, self.redis_url,
decode_responses=False, decode_responses=False,
socket_timeout=30, socket_timeout=_socket_timeout,
socket_connect_timeout=5, socket_connect_timeout=_socket_connect_timeout,
health_check_interval=60, health_check_interval=_health_check_interval,
) )
# 测试连接,确保Redis可用 # 测试连接,确保Redis可用
await self.client.ping() await self.client.ping()