首先在ubuntu上安装celery
pip3 install celery
然后安装Redis的python客户端
pip3 install redis
然后在ubuntu服务器上安装Redis数据库
sudo apt-get install redis
然后开始配置celery运行。这里我使用celery的默认配置来跑celery以简化步骤
首先创建一个tasks.py的python脚本,这个脚本里 带着一个会被发送到celery执行的异步任务函数。
复制代码
from celery import Celery
app = Celery('tasks', broker='redis://localhost')
@app.task
def hello():
return 'hello world'
复制代码
这里注意,如果你的redis是用密码的 broker的格式就会是这样
app = Celery('tasks', broker='redis://:password@localhost')
不然会连接失败。
然后使用一个worker监视这个任务是否被调用。
celery -A tasks worker
-A是指明app名字的意思。
这个时候成功会出现这样的情况
当你看到celery@xxxx ready的时候 就是你的监控woker启动起来了。这个界面是woker的一个控制台。
之后可以写一个调用生产消息。这里我重新写一个脚本并且调用上面的hello函数。
复制代码
from tasks import add
def notify(a, b):
result = add.delay(a, b)
return result
if __name__ == '__main__':
print notify(6, 7)
复制代码
这里调用的add.delay(a, b)会返回一个task的唯一id,如果我们设了backend 那么我们可以拿着这个返回的唯一id异步取得这个值。
这个将在下篇文章详细介绍。