FastAPI 学习之路(五十四)startup 和 shutdown

在实际开发中,总会遇到这样的场景,我们想在启动或者终止的时候,做一些事情,那么应该如何实现呢?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.终止程序前需要处理一些后续,清理之类。

相关推荐
techzhi10 小时前
Apifox CLI + GitLab CI:接口自动化测试实施记录
java·ci/cd·kubernetes·gitlab·yapi·运维开发·fastapi
梅羽落12 小时前
fastapi速成2
python·github·fastapi
PD我是你的真爱粉12 小时前
FastAPI 参数接收类型总结
fastapi
栗子叶13 小时前
Spring 中 Servlet 容器和 Python FastAPI 对比
python·spring·servlet·fastapi
PD我是你的真爱粉14 小时前
FastAPI基础
fastapi
曲幽14 小时前
FastAPI搭档Pydantic:从参数验证到数据转换的全链路实战
python·fastapi·web·path·field·query·pydantic·basemodel·response_model
懒人村杂货铺16 小时前
从 Permission Denied 到 404:Docker 多容器下图片上传与静态资源服务全解
docker·fastapi
勇气要爆发16 小时前
AI后端工程化:FastAPI + Pydantic + JWT 鉴权实战,从零构建 AI 接口服务
人工智能·fastapi·jwt·pydantic
ValidationExpression2 天前
LangChain1.0学习
学习·ai·langchain·fastapi
曲幽2 天前
FastAPI缓存提速实战:手把手教你用Redis为接口注入“记忆”
redis·python·cache·fastapi·web·asyncio