一个系统刚开始启动的时候,通常要做一些初始化的事情,例如挂载文件系统,添加中间件,准备日志系统等。而在关闭系统的时候则需要做一些收尾的事情,例如关闭数据库,关闭日志系统等。
在fastapi中主要通过事件处理器来完成这两个部分的工作。
startup事件
要创建一个startup事件处理器,就得在一个函数前面用事件装饰器,装饰。语法结构如下:
from fastapi import FastAPI
app = FastAPI()
@app.on_event("startup")
async def startup_event():
...
shutdown事件
要创建一个shutdown事件处理器,就得在一个函数前面用事件装饰器,装饰。语法结构如下:
from fastapi import FastAPI
app = FastAPI()
@app.on_event("shutdown")
async def shutdown_event():
...
注意事项
事件处理器只有在主应用中有效!