Add health endpoint at root path

This commit is contained in:
Automated Action 2025-05-16 12:24:36 +00:00
parent e02176bc94
commit de8e7deb21

24
main.py
View File

@ -3,10 +3,12 @@ import socket
import sys import sys
import uvicorn import uvicorn
from fastapi import FastAPI from fastapi import Depends, FastAPI
from sqlalchemy.orm import Session
from app.api.api import api_router from app.api.api import api_router
from app.core.config import settings from app.core.config import settings
from app.db.session import get_db
# Configure logging # Configure logging
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)
@ -19,6 +21,26 @@ app = FastAPI(
version="0.1.0", version="0.1.0",
) )
@app.get("/health", tags=["health"], summary="Health check endpoint")
def health_check(db: Session = Depends(get_db)):
"""
Check the health of the application:
- **status**: Overall application status
- **database**: Database connection status
"""
try:
# Make a simple query to check if the database is responsive
db.execute("SELECT 1")
db_status = "healthy"
except Exception:
db_status = "unhealthy"
return {
"status": "ok",
"database": db_status
}
app.include_router(api_router, prefix=settings.API_V1_STR) app.include_router(api_router, prefix=settings.API_V1_STR)
def find_available_port(start_port, max_attempts=10): def find_available_port(start_port, max_attempts=10):