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 .