【发布时间】:2018-05-02 09:25:00
【问题描述】:
我想在延迟任务中执行 apply_aysnc 任务。但我得到一个错误'函数'对象没有属性'apply_async'。
tasks.py
from celery import task
def Test(func, delay_seconds):
TaskA.apply_async((func, delay_seconds), countdown=1)
@task
def TaskA(func, delay_seconds):
result = xxx
if result:
func.apply_async(countdown=delay_seconds)
def TaskB():
xxx
Test.apply_async((TaskB, 600,), countdown=60)
我发现 celery 可以执行 'Test' 功能。然后我想在TaskA中结果为True时执行func,但是当我尝试“apply_aysnc”TaskB时它会引发异常。如何将 func 设为“任务”对象?还有其他方法吗?
【问题讨论】: