一、前言
在Django Web平台开发中,碰到一些请求执行的任务时间较长的情况,为了加快用户的响应时间,就可以采用Celery异步任务的方式来解决
好文章 记得收藏+点赞+关注额 !!!---- Nick.Peng
二、关于 Celery
- Celery是基于Python开发的一个分布式任务队列框架,支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。
- 如图Celery的架构,它采用典型的生产者-消费者模式,主要由三部分组成:broker(消息队列)、workers(消费者:处理任务)、backend(存储结果)。
- 实际应用中,用户从Web前端发起一个请求,我们只需要将请求所要处理的任务丢入任务队列broker中,由空闲的worker去处理任务即可,处理的结果会暂存在后台数据库backend中。我们可以在一台机器或多台机器上同时起多个worker进程来实现分布式地并行处理任务。