Files
template-fastapi/{{project_slug}}/logic/system.py.jinja
Aleksei Sokol 6e9ed87ec4
Some checks failed
Run linters on applied template / Python 3.13 lint and build (push) Failing after 39s
Initial commit
This is a FastAPI backend microservice template used with `copier` utility.

Features of applied template are:
- Configuration file processing logic
- Metrics and tracing (both optional) configuration available
- Debug endpoints
- Database migration commands, prepared Alembic environment
- Database usage example in ping_db endpoint
- gitea sanity check pipeline
2025-11-29 22:01:15 +03:00

17 lines
615 B
Django/Jinja

"""/system handlers logic is defined here."""
from sqlalchemy import select, text
from {{project_slug}}.db.connection.manager import PostgresConnectionManager
from {{project_slug}}.schemas.health_check import PingResponse
async def ping_db(connection_manager: PostgresConnectionManager, readonly: bool) -> PingResponse:
conn_future = connection_manager.get_connection() if not readonly else connection_manager.get_ro_connection()
query = select(text("1"))
async with conn_future as conn:
res = (await conn.execute(query)).scalar_one()
if res == 1:
return PingResponse()