サービスのエンドポイントチェック条件を作成するための優れたライブラリがあります-
すぐに使用できる機能がいくつかあるため、エンドポイントを手動で作成する代わりに使用できます(たとえば、 EnvironmentDump 。
私のアプリケーションでも同じニーズがあったので、データベースが応答するかどうかのチェックを実装しました
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)
ご覧のとおり、アプリケーションでは、db.engine.execute('SELECT 1')
を使用してクエリを実行できます。 。