Skip to content

Commit a3e24a1

Browse files
committed
Actualize docs a bit
1 parent 629cad3 commit a3e24a1

File tree

6 files changed

+34
-2
lines changed

6 files changed

+34
-2
lines changed

docs/usage/frameworks/aiohttp.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@ async def start_db_pool(app: web.Application) -> None:
2626
app["db_pool"] = db_pool
2727

2828

29+
async def stop_db_pool(app: web.Application) -> None:
30+
"""Close database connection pool."""
31+
db_pool = cast(ConnectionPool, app.db_pool)
32+
db_pool.close()
33+
34+
2935
async def pg_pool_example(request: web.Request):
3036
db_pool = cast(ConnectionPool, request.app["db_pool"])
3137
connection = await db_pool.connection()

docs/usage/frameworks/blacksheep.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,17 @@ async def on_start(app: Application) -> None:
3232
app.services.add_instance(db_pool)
3333

3434

35+
@app.on_stop
36+
async def on_stop(app: Application) -> None:
37+
"""Close a database pool if it exists in app scope."""
38+
try:
39+
db_pool = app.services.resolve(ConnectionPool)
40+
except Exception:
41+
...
42+
else:
43+
db_pool.close()
44+
45+
3546
@get("/")
3647
async def pg_pool_example(db_pool: ConnectionPool) -> list[dict[Any, Any]]:
3748
connection = await db_pool.connection()

docs/usage/frameworks/fastapi.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
3030
max_db_pool_size=10,
3131
)
3232
app.state.db_pool = db_pool
33+
yield
34+
db_pool.close()
3335

3436

3537
app = FastAPI(lifespan=lifespan)
@@ -82,6 +84,8 @@ db_pool = ConnectionPool(
8284
async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
8385
"""Startup database connection pool and close it on shutdown."""
8486
app.state.db_pool = db_pool
87+
yield
88+
db_pool.close()
8589

8690

8791
app = FastAPI(lifespan=lifespan)

docs/usage/frameworks/litestar.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,13 @@ def start_db_pool(app: Litestar) -> ConnectionPool:
3333
return cast("ConnectionPool", app.state.db_pool)
3434

3535

36+
async def stop_db_pool(app: Litestar) -> None:
37+
"""Close database connection pool."""
38+
if getattr(app.state, "db_pool", None):
39+
db_pool = cast(ConnectionPool, app.state.db_pool)
40+
db_pool.close()
41+
42+
3643
@get("/")
3744
async def pg_pool_example(request: Request) -> list[dict[Any, Any]]:
3845
db_pool = cast(ConnectionPool, request.app.state.db_pool)
@@ -46,6 +53,7 @@ async def pg_pool_example(request: Request) -> list[dict[Any, Any]]:
4653
app = Litestar(
4754
[pg_pool_example],
4855
on_startup=[start_db_pool],
56+
on_shutdown=[stop_db_pool],
4957
)
5058

5159

docs/usage/frameworks/robyn.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ async def pg_pool_example(request: Request) -> list[dict[Any, Any]]:
3636

3737

3838
async def main() -> None:
39-
await app.start(host="127.0.0.1", port=8000)
39+
try:
40+
await app.start(host="127.0.0.1", port=8000)
41+
finally:
42+
db_pool.close()
4043

4144

4245
if __name__ == "__main__":

src/driver/connection_pool.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -422,7 +422,7 @@ impl ConnectionPool {
422422
Ok(Connection::new(Some(Arc::new(db_connection)), None))
423423
}
424424

425-
/// Return new single connection.
425+
/// Close connection pool.
426426
///
427427
/// # Errors
428428
/// May return Err Result if cannot get new connection from the pool.

0 commit comments

Comments
 (0)