37 lines
851 B
Python
37 lines
851 B
Python
|
#!/usr/bin/env python3
|
||
|
from flask import Flask
|
||
|
from flask_restful import Api
|
||
|
from healthcheck import HealthCheck
|
||
|
from utils import Config, register_all_error_handlers, health_database_status
|
||
|
from model import db
|
||
|
from schemas import ma
|
||
|
from resources import MealBaseResource
|
||
|
|
||
|
app = Flask(__name__)
|
||
|
app.config.from_object(Config)
|
||
|
|
||
|
api = Api(app)
|
||
|
health = HealthCheck()
|
||
|
ma.init_app(app)
|
||
|
|
||
|
|
||
|
@app.before_first_request
|
||
|
def init_db():
|
||
|
db.create_all()
|
||
|
|
||
|
|
||
|
api.add_resource(MealBaseResource, "/meals")
|
||
|
|
||
|
health.add_check(health_database_status)
|
||
|
|
||
|
register_all_error_handlers(app)
|
||
|
|
||
|
app.add_url_rule("/healthz", "healthcheck", view_func=lambda: health.run())
|
||
|
|
||
|
if __name__ != '__main__':
|
||
|
import logging
|
||
|
|
||
|
gunicorn_logger = logging.getLogger('gunicorn.error')
|
||
|
app.logger.handlers = gunicorn_logger.handlers
|
||
|
app.logger.setLevel(gunicorn_logger.level)
|