load dotenv everywhere it's needed; postgresql pool pre ping

This commit is contained in:
2026-05-20 02:21:22 +08:00
parent c68d88b8c1
commit d54aeaa61a
7 changed files with 23 additions and 4 deletions
+5 -1
View File
@@ -18,5 +18,9 @@ elif DATABASE_URL and DATABASE_URL.startswith("postgres+"):
if not DATABASE_URL:
raise ValueError("DATABASE_URL environment variable is not set or empty.")
engine = create_engine(DATABASE_URL)
engine = create_engine(
DATABASE_URL,
pool_recycle=3600,
pool_pre_ping=True
)
SessionLocal = sessionmaker(bind=engine)
+2
View File
@@ -3,6 +3,7 @@ from fastapi import FastAPI, Depends, HTTPException
from fastapi.middleware.cors import CORSMiddleware
from strawberry import Schema
from strawberry.fastapi import GraphQLRouter
from dotenv import load_dotenv
from auth import router as auth_router, get_user_by_id, get_current_user
@@ -22,6 +23,7 @@ Base.metadata.create_all(bind=engine)
app = FastAPI()
# 获取环境变量字符串,并转成列表
load_dotenv()
origins_str = os.getenv("CORS_ORIGINS", "http://localhost:3000")
origins = [origin.strip() for origin in origins_str.split(",")]
+3
View File
@@ -1,4 +1,7 @@
import os
from dotenv import load_dotenv
load_dotenv()
OSS_BASE_URL = os.getenv("OSS_BASE_URL", "").rstrip("/")
+3 -2
View File
@@ -1,8 +1,9 @@
import oss2
import httpx
import os
import io
from fastapi import HTTPException
from dotenv import load_dotenv
load_dotenv()
# 加载配置
ACCESS_KEY_ID = os.getenv("S3_ACCESS_KEY_ID")
+4 -1
View File
@@ -1,11 +1,14 @@
from fastapi import Request, HTTPException
import os
from dotenv import load_dotenv
from .tokens import decode_token
load_dotenv()
JWT_SECRET = os.getenv("JWT_SECRET")
JWT_ALGORITHM = os.getenv("JWT_ALGORITHM", "HS256")
def get_current_user(request: Request):
token = request.cookies.get("access_token")
+3
View File
@@ -7,6 +7,7 @@ import os
import secrets
import json
from urllib.parse import quote
from dotenv import load_dotenv
from auth.deps import get_current_user
from app.db import SessionLocal
@@ -16,6 +17,8 @@ from app.utils.format import get_image_url
router = APIRouter()
load_dotenv()
GOOGLE_CLIENT_ID = os.getenv("GOOGLE_CLIENT_ID")
GOOGLE_CLIENT_SECRET = os.getenv("GOOGLE_CLIENT_SECRET")
GOOGLE_REDIRECT_URI = os.getenv("GOOGLE_REDIRECT_URI")
+3
View File
@@ -2,6 +2,9 @@ from datetime import datetime, timedelta, timezone
import os
import jwt
from fastapi import HTTPException, status
from dotenv import load_dotenv
load_dotenv()
JWT_SECRET = os.getenv("JWT_SECRET")
JWT_ALGORITHM = os.getenv("JWT_ALGORITHM", "HS256")