Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Flask-SQLAlchemy überprüft, ob der Datenbankserver reagiert

Es gibt eine schicke Bibliothek zum Schreiben der Bedingung für die Endpunktprüfung des Dienstes - healthcheck .

Sie können es verwenden, anstatt den Endpunkt manuell zu erstellen, da einige Funktionen sofort einsatzbereit sind (zum Beispiel EnvironmentDump ).

In meiner Anwendung hatte ich das gleiche Bedürfnis, also implementierte ich die Überprüfung, ob die Datenbank reagiert

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)

Wie ich sehe, können Sie in Ihrer Anwendung eine Abfrage mit db.engine.execute('SELECT 1') ausführen .