Istnieje ciekawa biblioteka do zapisywania stanu usługi sprawdzania punktów końcowych — kontrola stanu .
Możesz go użyć zamiast ręcznie tworzyć punkt końcowy, ponieważ istnieją pewne funkcje po wyjęciu z pudełka (na przykład Zrzut środowiska ).
W mojej aplikacji miałem taką samą potrzebę, więc zaimplementowałem sprawdzenie, czy baza danych jest responsywna
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)
Jak widzę, w swojej aplikacji możesz wykonać zapytanie za pomocą db.engine.execute('SELECT 1')
.