28 lines
763 B
Python
28 lines
763 B
Python
# Роут проверки доступности сервиса и соединения с БД.
|
||
|
||
from fastapi import APIRouter, Depends
|
||
from sqlalchemy import text
|
||
|
||
from ..deps import get_persistence
|
||
from ...storage.db import PersistenceService
|
||
|
||
router = APIRouter()
|
||
|
||
|
||
@router.get("/health")
|
||
def health_check(persistence: PersistenceService = Depends(get_persistence)):
|
||
# Проверка API и БД
|
||
db_ok = False
|
||
try:
|
||
with persistence.session_scope() as session:
|
||
session.execute(text("SELECT 1"))
|
||
db_ok = True
|
||
except Exception:
|
||
pass
|
||
|
||
return {
|
||
"status": "ok" if db_ok else "degraded",
|
||
"service": "iaai-scraper-api",
|
||
"database": "connected" if db_ok else "unavailable",
|
||
}
|