Python—Celery 框架使用,


二、Celery基本使用 

1.创建一个celery application 用来定义你的任务列表,创建一个任务文件就叫tasks.py吧。

from celery import Celery

# 配置好celery的backend和broker 
app = Celery('task1',  backend='redis://127.0.0.1:6379/0', broker='redis://127.0.0.1:6379/0')
 
#普通函数装饰为 celery task
@app.task  
def add(x, y):
    return x + y

如此而来,我们只是定义好了任务函数func函数和worker(celery对象)。worker相当于工作者。

2.启动Celery Worker来开始监听并执行任务。broker 我们有了,backend 我们有了,task 我们也有了,现在就该运行 worker 进行工作了,在 tasks.py 所在目录下运行:

[root@localhost ~]# celery -A tasks worker --loglevel=info    # 启动方法1 
[root@localhost ~]# celery -A tasks worker --l debug          # 启动方法2

现在 tasks 这个任务集合的 worker 在进行工作(当然此时broker中还没有任务,worker此时相当于待命状态),如果队列中已经有任务了,就会立即执行。

3.调用任务:要给Worker发送任务,需要调用 delay() 方法。

import time
from tasks import add

# 不要直接add(6, 6),这里需要用 celery 提供的接口 delay 进行调用
result = add.delay(6, 6) 
while not result.ready():
    time.sleep(1)
print('task done: {0}'.format(result.get()))

  

相关内容

    暂无相关文章

评论关闭