作用
| 需要在应用程序启动之前或者关闭时进行,例如数据库迁移,定时任务····· |
实际代码
main.py
| import uvicorn |
| |
| from app import create_app |
| |
| app = create_app() |
| |
| if __name__ == '__main__': |
| uvicorn.run( |
| app='main:app', |
| host='0.0.0.0', |
| port=8000, |
| reload=True |
| ) |
| |
| |
| |
| |
| |
| |
| from fastapi import FastAPI |
| |
| from app.xxx import task_init |
| from app.config import log_init |
| from app.middleware import middleware_init |
| from app.plan import plan |
| from app.routers import router_init |
| |
| |
| async def start_event(): |
| task_init() |
| plan.run_plan() |
| print('系统启动') |
| |
| |
| async def shutdown_event(): |
| print('系统关闭') |
| |
| |
| def create_app(): |
| app = FastAPI(title="xxx服务", |
| description="xxx服务接口文档", |
| version="1.0.0", |
| on_startup=[start_event], |
| on_shutdown=[shutdown_event] |
| ) |
| |
| |
| log_init() |
| |
| |
| router_init(app) |
| |
| |
| middleware_init(app) |
| |
| |
| |
| |
| return app |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!