在FastAPI中,Lifespan 是一个用于管理应用生命周期的事件,它允许你在应用启动前和关闭后执行特定的代码。这在你需要设置一些在应用整个生命周期中都会用到的资源,或者在应用结束后需要进行清理的情况下非常有用。
场景描述:
假设你正在开发一个机器学习 Web 服务,该服务允许用户上传图片,并返回图片内容的预测结果。为了提供服务,你需要在应用启动时加载一个预先训练好的模型到内存中,以便能够快速进行预测。当应用停止时,你需要释放这个模型,以便于资源的回收。
文字示例:
- 应用启动:当你启动应用时,你首先需要加载模型。这个加载操作可能会花费一些时间,并且需要在应用开始接收请求之前完成。
- 接收请求:一旦模型加载完成,你的应用就会开始接收用户的预测请求。
- 处理请求:对于每个预测请求,应用会使用已加载的模型来分析用户上传的图片,并返回预测结果。
- 应用关闭:当你关闭应用时,你希望释放加载的模型,以便释放占用的内存和其他资源。
Mermaid 流程图: