Merge pull request #15195 from prene/proper-default-pooling-settings

[PERF] Proper default pooling settings
This commit is contained in:
Tim Jaeryang Baek
2025-06-21 17:39:27 +04:00
committed by GitHub
2 changed files with 8 additions and 6 deletions
+3 -5
View File
@@ -272,15 +272,13 @@ if "postgres://" in DATABASE_URL:
DATABASE_SCHEMA = os.environ.get("DATABASE_SCHEMA", None) DATABASE_SCHEMA = os.environ.get("DATABASE_SCHEMA", None)
DATABASE_POOL_SIZE = os.environ.get("DATABASE_POOL_SIZE", 0) DATABASE_POOL_SIZE = os.environ.get("DATABASE_POOL_SIZE", None)
if DATABASE_POOL_SIZE == "": if DATABASE_POOL_SIZE != None:
DATABASE_POOL_SIZE = 0
else:
try: try:
DATABASE_POOL_SIZE = int(DATABASE_POOL_SIZE) DATABASE_POOL_SIZE = int(DATABASE_POOL_SIZE)
except Exception: except Exception:
DATABASE_POOL_SIZE = 0 DATABASE_POOL_SIZE = None
DATABASE_POOL_MAX_OVERFLOW = os.environ.get("DATABASE_POOL_MAX_OVERFLOW", 0) DATABASE_POOL_MAX_OVERFLOW = os.environ.get("DATABASE_POOL_MAX_OVERFLOW", 0)
+5 -1
View File
@@ -94,10 +94,14 @@ else:
pool_pre_ping=True, pool_pre_ping=True,
poolclass=QueuePool, poolclass=QueuePool,
) )
else: elif DATABASE_POOL_SIZE == 0:
engine = create_engine( engine = create_engine(
SQLALCHEMY_DATABASE_URL, pool_pre_ping=True, poolclass=NullPool SQLALCHEMY_DATABASE_URL, pool_pre_ping=True, poolclass=NullPool
) )
else:
engine = create_engine(
SQLALCHEMY_DATABASE_URL, pool_pre_ping=True
)
SessionLocal = sessionmaker( SessionLocal = sessionmaker(