在实际开发中,总会遇到这样的场景,我们想在启动或者终止的时候,做一些事情,那么应该如何实现呢?fastapi其实给我们提供了这样的操作:
from fastapi import FastAPI
app = FastAPI()
@app.on_event("startup")
def startup_event():
print("this is startup")
@app.on_event("shutdown")
def shutdown_event():
print("this is shutdown")
其实很简单,我们注入这两个事件即可。在结束的时候,如果有IO的操作那么必须走同步的方式,不能用异步的方式。
那么实际开发中如何使用呢?比如:
1.数据库的连接,断开连接,可以在开始和结束前。
2.redis的链接和断开链接
3.初始化一些前置条件
4.终止程序前需要处理一些后续,清理之类。