从任务始终挂起的Celery子任务启动

时间:2014-08-08 19:10:48

标签: python celery celery-task

为什么从任务启动的子任务的状态始终处于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,并且它们基本上从未执行过。

为什么会这样?

0 个答案:

没有答案