首先介绍下celery是什么?
Celery是专注实时处理和任务调度的分布式任务队列。
主要应用场景:
1,web应用,当需要触发事件需要较长时间处理完成,可以交给celery进行异步执行,执行完后返回结果,这段时间不用等待,提高系统的吞吐量和响应时间。
2,完成任务时,需要额外的事件处理,如发送邮件等。
3,后台定时任务处理,celery可以帮助我们在不同服务器进行定时任务管理。
主要特性:
1,方便查询任务的进展情况,如执行结果,状态,消耗时间。
2,可以利用功能齐全的后台管理进行任务的添加,删减等操作。
3,可以进行并发操作。
4,提供异常处理机制。
主要架构:
1,Celery Beat:任务调度器,定时执行配置文件中的任务。
2,Celery Worker: 任务执行的消费者。执行任务。
3,Broker:消息的中间件,接收生成者产生的消息,存储队列并分发给任务方进行消费。
4,Producer:调用celery的API,函数,装饰器等产生任务交给任务队列,简称生成者。
5,Result Backend:任务处理完成后的结果储存。