sql >> Base de Datos >  >> RDS >> Mysql

Flask-SQLAlchemy verifica si el servidor de la base de datos responde

Hay una biblioteca elegante para escribir la condición de verificación de punto final del servicio:healthcheck .

Puede usarlo en lugar de crear manualmente un punto final porque hay algunas funciones listas para usar (por ejemplo, Volcado del entorno ).

En mi aplicación, tenía la misma necesidad, así que implementé verificar si la base de datos responde

app = Flask(__name__)

# wrap the flask app and give a heathcheck url
health = HealthCheck(app, "/healthcheck")

def health_database_status():
    is_database_working = True
    output = 'database is ok'

    try:
        # to check database we will execute raw query
        session = DatabaseSession.get_database_session()
        session.execute('SELECT 1')
    except Exception as e:
        output = str(e)
        is_database_working = False

    return is_database_working, output

health.add_check(health_database_status)

Como veo, en su aplicación puede ejecutar la consulta con db.engine.execute('SELECT 1') .