如何使用芹菜定期执行连锁任务

时间:2019-08-27 03:17:01

标签: python-2.7 celery

这里有两个任务。

@app.task(name='add')
def add(x, y):
    return x+y


@app.task(name='sub')
def sub(x, y):
    return x-y  

然后将芹菜链用于这两项任务。(我使用的版本是4.20)

我想给这条芹菜链计时

我已经这样使用了:

@app.on_after_finalize.connect
def setup_periodic_tasks(sender, **kwargs):  
    sender.add_periodic_task(
        20.0, chain(add.s(1, 9), sub.s(3)), name='run every 20s'
    )

但是有这样一个错误:

NotImplementedError: chain is not a real task

我该怎么办,
如何计时芹菜链,
谢谢

1 个答案:

答案 0 :(得分:0)

将链条包装在常规任务中,然后从调度程序中调用它。