我想在延迟的任务中执行apply_aysnc任务。但我得到一个错误'function'对象没有属性'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)
我发现芹菜可以执行'测试'功能。然后我想在TaskA中结果为True时执行func,但是当我尝试'apply_aysnc'TaskB时它会引发异常。如何将func作为“任务”对象?还有其他办法吗?
答案 0 :(得分:0)
我自己解决了这个问题
使用
topmostViewController
其中task()将返回芹菜代理,而不是
task(func).apply_async(countdown=delay_seconds)