环境搭建:
1. 安装celery4.0版本以上
2.安装erlang的运行环境,因为rabbitmq是基于erlang环境的; 下载链接:http://www.erlang.org/download.html
3. 安装rabbitmq ,下载链接:http://www.rabbitmq.com/download.htm
demo测试:
创建tasks.py
from celery import Celery app = Celery('tasks',backend='',broker='amqp://guest@localhost//') @app.task def add(x, y): return x + y
在项目根目录下面的命令行里运行:celery -A tas worker --loglevel=info启动任务
然后打开python的命令行模式:
>>>from tasks inport add
>>>add.delay(1,3)
运行之后就会在cmd的那个窗口里面打印日志的
如果运行的时候报错ValueError: need more than 0 values to unpack
则用celery -A tas worker --loglevel=info -P eventlet启动任务,官网说是4以上版本就有这问题,具体可以参考这个https://github.com/celery/celery/issues/4081
最后添加任务监控:安装Flower
然后当前项目环境下运行celery flower --broker=amqp://guest:guest@localhost:5672//