【发布时间】:2019-11-01 00:54:12
【问题描述】:
我是芹菜的新手。 我只想在另一个进程完成后运行一个进程。 在搜索时我发现了一个代码
class CallbackTask(Task):
def on_success(self, retval, task_id, args, kwargs):
print("success")
pass
def on_failure(self, exc, task_id, args, kwargs, einfo):
print("fail")
pass
@celery.task(base=CallbackTask) # this does the trick
def add_val(x, y):
time.sleep(20)
return x + y
在运行该代码时,它按以下顺序显示状态:
-
收到的任务
//20分钟定时器后
-
成功(它是从'on_success'方法打印出来的)
3.任务完成 (#ans-7)
实际上,这里的问题是“成功”在我的实际答案之前被打印出来,如果在我的答案之后有任何方法可以得到它,那么我可以轻松地将我的第二个过程放在“on_success”方法中并执行它.
【问题讨论】:
标签: django celery celery-task