为什么从任务启动的子任务的状态始终处于PENDING状态?
data = [foo.delay(i) for i in bar]
complete = {}
L = len(data)
cnt = 0
while cnt != L:
for i in data:
ID = i.task_id
try:
complete[ID]
except KeyError:
if i.status == 'SUCCESS':
complete[ID] = run_hourly.delay(i.result)
cnt += 1
if cnt >= L:
for ix in complete.values():
print ix.status
这显然是一个人为的例子,但在检查任务成功时通过data
的迭代工作正常。但是,当我们遍历在此循环中启动的任务时,这些任务的状态仍为PENDING
,并且它们基本上从未执行过。
为什么会这样?