forked from 0xWheatyz/SPARC
Refactor get_db_client() in auth.py to use a shared connection pool #614
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
get_db_client()inauth.pyinstantiates a newDatabaseClienton every call. This bypasses any connection pooling and can exhaust PostgreSQL connections under concurrent load.Roadmap item: P1 > Error handling and resilience
What to do
DatabaseClient(or reuse the one created indatabase.py/main.pyif one already exists).get_db_client()to return that shared instance instead of creating a new one.DatabaseClientalready supports pooling (e.g., asyncpg), verify the pool size is configurable via env var.Acceptance criteria
get_db_client()no longer instantiatesDatabaseClienton each invocation.Closing: already implemented on main.
auth.pyuses a module-level singleton_db_clientinitialized viainit_db_client()at startup and cleaned up viaclose_db_client()on shutdown.get_db_client()returns the shared instance.