如何使用celery定时执行链式任务

How to use celery to execute chain tasks regularly

这里有两个任务。

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


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

然后这两个任务使用celery chain。(我使用的版本是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

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

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