FastAPI 学习之路(四十)后台任务
2023-03-15 22:51:58 时间
我们在实际的开发中,都会遇到,我们要执行的一些任务很耗时,但是呢,对于前端呢,没必要进行等待。比如发送邮件,读取文件。我们在fastapi如何实现呢。
其实很简单,fastapi已经给我们封装好一个现成的模块,我们直接调用使用即可,非常方便。我们举一个简单例子演示下
from fastapi import FastAPI,BackgroundTasks import time app = FastAPI(docs_url="/openapi", redoc_url="/apidoc") def write_notification(email: str, message=""): time.sleep(200) with open("log.txt", mode="w") as email_file: content = f"name {email}: {message}" email_file.write(content) @app.post("/sendtxt/") async def sendtxt(email: str, background_tasks: BackgroundTasks): background_tasks.add_task(write_notification, email, message="不关注") return {"message": "在后台读写"}
我们可以去测试下
我们的接口处理完成,但是后台任务还需要等待200s后才能执行完毕。所以我们不必等着任务全部执行完毕再返回,针对特别耗时的任务必须放在后台执行,不能占用前端的进程,不然会影响用户体验和接口返回的。
相关文章
- 一篇运维老司机的大数据平台监控宝典(2)-联通大数据集群平台监控体系详解
- 一篇运维老司机的大数据平台监控宝典(1)-联通大数据集群平台监控体系进程详解
- 空中换引擎 博时基金数字化转型经验谈
- 如何高效地学习编程语言
- 作为一名阿里巴巴数据分析大牛,送给学弟学妹的经验积分
- 为什么要学习R语言
- Hadoop大数据分析平台的介绍性讨论
- 最全面的Spring学习笔记
- 16个用于数据科学和机器学习的顶级平台
- 给有抱负的数据科学家的六条建议
- 如何做一枚合格的数据产品经理
- 除Kaggle外,还有哪些顶级数据科学竞赛平台
- 一个鲜为人知却可以保护隐私的训练方法:联合学习
- 干货 :送你12个关于数据科学学习的关键提示(附链接)
- 大数据行业有多少种工作岗位,各自的技能需求是什么?
- 中国移动研究院常耀斌:商用大数据平台的研发之路
- 这些数据科学家必备的技能,你拥有哪些?
- 自学成才的开发者有何优势和劣势?
- Gartner报告:正处于数据科学与机器学习工具 “大爆炸”的时代
- Ready Computing借助InterSystems IRIS医疗版为医疗机构提供具有高度互操作性和可扩展性的解决方案