安装
pip install -U Celery
认识:
生活中的例子:我去楼下扔垃圾,扔到垃圾桶后保洁阿姨把垃圾分类掉,清空。这,就是celery
客户端:发布任务一方eg:django/flask/自己写程序
工作者(worker): 真正执行工作的这一方。具备多任务处理。具有多进程/协程。
协程库:gevent /greenlet,默认是在多进程中工作的。可以理解为进程池的模式。
任务队列(中间人):客户端将任务交给broker, 工作者从broker中拿取任务。
broker并不是由celery自己实现的,它是通过其他容器来实现的。Redis/RabbitMQ(message-queue)
Backend(第四方):工作者存放结果的地方。eg: Redis/MySQL/其他都可以。
使用流程
- 客户端定义任务:以函数方式 eg send_sms函数。