我有这样的任务:
@task
def test():
time.sleep(10)
test.update_state(state="PROGRESS")
time.sleep(10)
return "done"
然后我运行这个:
>>> from celery.execute import send_task
>>> t = send_task("testcelery.test")
>>> t.state
'PENDING'
>>> t.state
'PROGRESS'
我可以在工作人员中看到任务已完成:
[2011-02-19 20:18:43,851:INFO/MainProcess] 任务 testcelery.test[7598b170-2877-4d76-89a0-9bcc4c9f877e] 在 20.0225799084 秒内成功:“完成”
但是 t.state 永远不会从 PROGRESS 变为 SUCCESS。我究竟做错了什么?