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
commit 2eae63bcd4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 6 deletions

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)

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(