目录
1. celery 简介
关于celery的简介,网上一大堆,在此不做赘述。
举个不太恰当的例子来作说明。celery就是一个服务团队,进入一家餐馆开始服务后,他的厨子在不停地做菜,前台有多个顾客不停地在吃,只要桌子上没有菜了,就会有新做好的端上来,直至所有的菜都被吃完为止。
后台的厨子叫做broker,顾客叫做worker,而用来临时存放饭菜的桌子叫做消息队列(message queue),而洗碗池(此例中每名顾客吃完都会产生一个脏的盘子)叫做backend。
以分布式爬虫为例,当确定任务后,由broker将多个任务推送至消息队列,然后多个分布式的小爬虫不停地从消息队列中获取子任务进行执行,并将执行的结果存放至backend中。
这就是分布式框架celery的基本原理,简单吧?
非常值得一提的是,celery是个服务团队(框架),不是一家餐馆(程序),他不自带桌子(消息队列),也不提供洗碗池(backend),他只是面向这些桌子和洗碗池提供服务。在他的官网文档中推荐了一些目前服务对接比较稳定的桌子(消息队列)和洗碗池(backend),我摘录过来,如下所示。
至于backend,个人推荐redis.
2. celery 安装及部署
2.1 celery 安装
首先通过pip安装(python3请通过pip3安装):
pip install celery
然后在python代码中导入即可使用:
from