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 |