diff --git a/api/src/core/database.py b/api/src/core/database.py index d8f010f..91c451f 100644 --- a/api/src/core/database.py +++ b/api/src/core/database.py @@ -9,6 +9,10 @@ engine = create_engine( settings.DATABASE_URL if not settings.DEBUG else settings.TEST_DATABASE_URL, echo=settings.DEBUG, + pool_pre_ping=True, + pool_size=5, + pool_recycle=3600, + pool_timeout=30, ) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) diff --git a/lib/database.py b/lib/database.py index 02a053d..631acf9 100644 --- a/lib/database.py +++ b/lib/database.py @@ -12,7 +12,7 @@ def create_connection() -> connection: database_url = os.getenv("DATABASE_URL") dsn = parse_dsn(database_url) - return psycopg2.connect(**dsn) # noqa + return psycopg2.connect(keepalives=1, keepalives_idle=30, keepalives_interval=10, keepalives_count=5, **dsn) # noqa def create_cursor(conn: connection) -> cursor: