我遵循了中的指导原则,并创建了一个在tasks.py中调用我的测试方法的视图:
import time
from celery.decorators import task
@task()
def add(x, y):
time.sleep(10)
return x + y
但是,如果我的add方法需要很长时间才能响应,我如何存储调用add.delay(1,2)时获得的result-object,并使用它来检查get later的进度/成功/结果?
这个查询:select count(*) from planner_event需要很长时间才能运行--太长时间了,我放弃了,在它完成之前就把它杀死了。但是,当我运行explain select count(*) from planner_event时,我可以在输出中看到一个列,其中包含行数(14m)。
为什么解释可以立即得到行数,但计数(*)需要很长时间才能运行?