mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
fix:优化参数、使用orjson
This commit is contained in:
+2
-2
@@ -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
@@ -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
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user