zbparse/flask_app/start_up.py
2024-12-02 16:49:15 +08:00

44 lines
1.7 KiB
Python

# flask_app/start_up.py
import logging
from flask import Flask, request, g
from flask_app.ConnectionLimiter import ConnectionLimiter
from flask_app.logger_setup import CSTFormatter, create_logger
from flask_app.routes.get_deviation import get_deviation_bp
from flask_app.routes.little_zbparse import little_zbparse_bp
from flask_app.routes.upload import upload_bp
from flask_app.routes.test_zbparse import test_zbparse_bp
from flask_app.general.清除file_id import delete_file_by_ids,read_file_ids
class FlaskAppWithLimiter(Flask):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# 初始化一个字典来存储每个蓝图的限流器
self.connection_limiters = {}
def create_app():
app = FlaskAppWithLimiter(__name__)
# 设置日志的全局配置(如果需要)
handler = logging.StreamHandler()
handler.setFormatter(CSTFormatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'))
app.logger.addHandler(handler)
app.logger.setLevel(logging.INFO)
# 注册蓝图
app.register_blueprint(get_deviation_bp)
app.register_blueprint(little_zbparse_bp)
app.register_blueprint(upload_bp)
app.register_blueprint(test_zbparse_bp)
app.connection_limiters['upload'] = ConnectionLimiter(max_connections=10)
app.connection_limiters['get_deviation'] = ConnectionLimiter(max_connections=10)
app.connection_limiters['default'] = ConnectionLimiter(max_connections=10)
return app
#TODO:培训要求、总体要求、进度要求、'建设要求'到技术要求中,归类到其他要求中
if __name__ == '__main__':
app = create_app()
app.run(debug=True, host='0.0.0.0', port=5000)