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 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):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user