2 Star 0 Fork 1

sealien / Python-100-Days

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
53.异步任务和定时任务.md 1.08 KB
一键复制 编辑 原始数据 按行查看 历史
jackfrued 提交于 2020-10-19 18:05 . 更新了部分文档

异步任务和定时任务

在Web应用中,如果一个请求执行了耗时间的操作或者该请求的执行时间无法确定,而且对于用户来说只需要知道服务器接收了他的请求,并不需要马上得到请求的执行结果,这样的操作我们就应该对其进行异步化处理。如果说使用缓存是优化网站性能的第一要义,那么将耗时间或执行时间不确定的任务异步化则是网站性能优化的第二要义,简单的说就是能推迟做的事情都不要马上做

上一章节中讲到的发短信和上传文件到云存储为例,这两个操作前者属于时间不确定的操作(因为作为调用者,我们不能确定三方平台响应的时间),后者属于耗时间的操作(如果文件较大或者三方平台不稳定,都可能导致上传的时间较长),很显然,这两个操作都可以做异步化处理。

在Python项目中实现异步化处理可以使用多线程或借助三方库Celery来完成。

使用Celery实现异步化

使用多线程实现异步化

1
https://gitee.com/sealien/Python-100-Days.git
git@gitee.com:sealien/Python-100-Days.git
sealien
Python-100-Days
Python-100-Days
master

搜索帮助