window下搭建celery+rabbitmq 分布式任务调度

环境搭建:

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//

 
posted @ 2018-05-17 18:44  双鱼男-huangsh  阅读(376)  评论(0编辑  收藏  举报