ops-api/app.py

48 lines
1.1 KiB
Python
Raw Normal View History

import sys
import os.path
from logging.config import dictConfig
from flask import Flask
from flask.logging import default_handler
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src'))
from database.mongodb import initialize_db
from routes import blueprint_api
from settings.dev import LOGGING
from settings.common import INSTANCE, VERSION
from common.utils import make_response
# 日志配置
dictConfig(LOGGING)
# app 实例,移除默认日志,加载配置文件
app = Flask(__name__)
app.logger.removeHandler(default_handler)
app.config.from_pyfile("settings/dev.py")
# 初始化数据库连接
initialize_db(app)
# 注册蓝图
app.register_blueprint(blueprint_api)
@app.after_request
def mark_global_header(resp):
"""全局 header """
# 标记当前提供服务的实例
resp.headers["Instance"] = INSTANCE
return resp
@app.route('/info')
def app_info():
"""返回实例信息实例版本、实例ID"""
return make_response(200, 1000, "success", version=VERSION, instance=INSTANCE)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5001, debug=True)