20 lines
624 B
Python
20 lines
624 B
Python
from flask import Blueprint, jsonify
|
|
from models import db
|
|
from sqlalchemy import text
|
|
from utils import db_ready
|
|
|
|
# Blueprint with technical endpoints
|
|
tech_bp = Blueprint('tech_bp', __name__)
|
|
|
|
@tech_bp.route('/health', methods=['GET'])
|
|
def health_check():
|
|
"Check if service works and database is functional"
|
|
try:
|
|
with db.engine.connect() as connection:
|
|
connection.execute(text("SELECT 1"))
|
|
return jsonify(status="healthy"), 200
|
|
except Exception:
|
|
if db_ready:
|
|
return jsonify(status="unhealthy"), 500
|
|
else:
|
|
return jsonify(status="starting"), 503 |