FastAPI 启动事件 tart_event(),停止事件shutdown_event()

作用

需要在应用程序启动之前或者关闭时进行,例如数据库迁移,定时任务·····

实际代码

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
)
#!/usr/bin/python
# -*- coding: utf-8 -*-
# @time : 2023/2/3 11:28
# @author : pugongying
# @description : 初始化项目
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)
# 建表
# db_init(app)
return app
posted @   蒲公英PGY  阅读(294)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示