diff --git a/src/dispatch/config.py b/src/dispatch/config.py index 05ed71db9464..ba0e97ec35d4 100644 --- a/src/dispatch/config.py +++ b/src/dispatch/config.py @@ -58,7 +58,6 @@ def __repr__(self) -> str: def __str__(self) -> str: return self._decrypted_value - elif SECRET_PROVIDER == "kms-secret": import boto3 @@ -83,7 +82,6 @@ def __repr__(self) -> str: def __str__(self) -> str: return self._decrypted_value - else: from starlette.datastructures import Secret @@ -175,6 +173,8 @@ def __str__(self) -> str: _QUOTED_DATABASE_PASSWORD = parse.quote(str(_DATABASE_CREDENTIAL_PASSWORD)) DATABASE_NAME = config("DATABASE_NAME", default="dispatch") DATABASE_PORT = config("DATABASE_PORT", default="5432") +DATABASE_ENGINE_POOL_SIZE = config("DATABASE_ENGINE_POOL_SIZE", cast=int, default=1000) +DATABASE_ENGINE_MAX_OVERFLOW = config("DATABASE_ENGINE_MAX_OVERFLOW", cast=int, default=0) SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{_DATABASE_CREDENTIAL_USER}:{_QUOTED_DATABASE_PASSWORD}@{DATABASE_HOSTNAME}:{DATABASE_PORT}/{DATABASE_NAME}" ALEMBIC_CORE_REVISION_PATH = config( diff --git a/src/dispatch/database/core.py b/src/dispatch/database/core.py index 8e3c9799c593..a1a01e54ac85 100644 --- a/src/dispatch/database/core.py +++ b/src/dispatch/database/core.py @@ -16,7 +16,11 @@ from dispatch.search.fulltext import make_searchable -engine = create_engine(str(config.SQLALCHEMY_DATABASE_URI)) +engine = create_engine( + config.SQLALCHEMY_DATABASE_URI, + pool_size=config.DATABASE_ENGINE_POOL_SIZE, + max_overflow=config.DATABASE_ENGINE_MAX_OVERFLOW, +) SessionLocal = sessionmaker(bind=engine)