import os from fastapi import FastAPI from fastapi_sqlalchemy import DBSessionMiddleware import fastapi_plugins import logging.config as logging_config from config import init_config def create_app(): app = FastAPI() @app.on_event("startup") async def startup_event(): # 日志配置 # logging_config.fileConfig('conf/log.ini') # 初始化配置文件 mysql_config, redis_config = init_config() # 添加sqlalchemy数据库中间件 # once the middleware is applied, any route can then access the database session from the global ``db`` app.add_middleware(DBSessionMiddleware, db_url=mysql_config.sqlalchemy_db_uri) # Redis 缓存初始化 await fastapi_plugins.redis_plugin.init_app(app, redis_config) await fastapi_plugins.redis_plugin.init() @app.on_event("shutdown") async def shutdown_event(): await fastapi_plugins.redis_plugin.terminate() # 在这里添加API route from api import test app.include_router(test.router) return app fast_api_app = create_app()