add healthchecks
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Torma Kristóf 2020-11-19 01:28:21 +01:00
parent 68cfa1b349
commit c67bcc8db1
4 changed files with 31 additions and 2 deletions

View File

@ -4,11 +4,12 @@ import sentry_sdk
from sentry_sdk.integrations.flask import FlaskIntegration
from flask import Flask
from werkzeug.middleware.proxy_fix import ProxyFix
from healthcheck import HealthCheck
# import stuff
from model import db
from utils import register_all_error_handlers, storage
from utils import register_all_error_handlers, storage, health_database_status
# import views
from views import SVMView, CNNView, RootView
@ -47,6 +48,7 @@ app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
# initialize stuff
db.init_app(app)
storage.init_app(app)
health = HealthCheck(app, "/healthz")
@app.before_first_request
@ -61,6 +63,8 @@ register_all_error_handlers(app)
for view in [SVMView, CNNView, RootView]:
view.register(app, trailing_slash=False, route_prefix='/model')
health.add_check(health_database_status)
# start debuggig if needed
if __name__ == "__main__":
app.run(debug=True)

View File

@ -2,3 +2,4 @@
from .require_decorators import json_required, multipart_required
from .error_handlers import register_all_error_handlers
from .storage import storage, ensure_buckets
from .healthckecks import health_database_status

View File

@ -0,0 +1,23 @@
#!/usr/bin/env python3
from model import db
"""
Healthchek functions
"""
__author__ = "@tormakris"
__copyright__ = "Copyright 2020, Birbnetes Team"
__module_name__ = "healthchecks"
__version__text__ = "1"
def health_database_status():
is_database_working = True
output = 'database is ok'
try:
db.session.execute('SELECT 1')
except Exception as e:
output = str(e)
is_database_working = False
return is_database_working, output

View File

@ -11,6 +11,7 @@ marshmallow-enum
psycopg2-binary
flask_minio
sentry-sdk
py-healthcheck
cython