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.终止程序前需要处理一些后续,清理之类。

相关推荐
西西弗Sisyphus16 小时前
Python FastAPI 和 Uvicorn 同步 (Synchronous) vs 异步 (Asynchronous)
python·fastapi·uvicorn
钱彬 (Qian Bin)16 小时前
项目实践14—全球证件智能识别系统(切换回SQLite数据库并基于Docker实现离线部署和日常管理)
运维·docker·容器·fastapi·证件识别
闲人编程1 天前
电商平台用户系统API设计
数据库·后端·消息队列·fastapi·监控·容器化·codecapsule
曲幽1 天前
FastAPI + TinyDB并发陷阱与实战:告别数据错乱的解决方案
python·json·fastapi·web·并发·queue·lock·文件锁·tinydb
natide1 天前
Llama2 API部署错误调试
fastapi·llama
bst@微胖子2 天前
CrewAI+FastAPI实现多Agent协作项目
java·前端·fastapi
花酒锄作田2 天前
FastAPI异步方法中调用同步方法
python·fastapi
写文章的大米2 天前
别再堆if-else验参数了!FastAPI自带的参数验证器,至少省一半调试时间
python·fastapi
特立独行的猫a2 天前
python的FastAPI 框架入门教程:从零构建完整 API 项目(含 Jinja2 模板引擎使用)
开发语言·python·fastapi
工藤学编程2 天前
【完整可运行】图书馆管理系统(SpringBoot+Vue+FastApi+LangChain)
vue.js·spring boot·fastapi