Add health endpoint at root path
This commit is contained in:
parent
e02176bc94
commit
de8e7deb21
24
main.py
24
main.py
@ -3,10 +3,12 @@ import socket
|
||||
import sys
|
||||
|
||||
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.core.config import settings
|
||||
from app.db.session import get_db
|
||||
|
||||
# Configure logging
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
@ -19,6 +21,26 @@ app = FastAPI(
|
||||
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)
|
||||
|
||||
def find_available_port(start_port, max_attempts=10):
|
||||
|
Loading…
x
Reference in New Issue
Block a user