我在Django模块中有一个操作后端数据库的Celery任务。任务开始如下:
for r in results:
try:
r.wait()
except Exception as e:
logger.error(traceback.format_exc(e))
当我运行代码时,这就是终端中发生的事情:
2012-03-26 18:19:49,153:ERROR:g: Traceback (most recent call last):
File "./xyz.py", line 42, in g
r.wait()
File "/usr/local/lib/python2.7/dist-packages/celery-2.4.6-py2.7.egg/celery/result.py", line 99, in wait
return self.get(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/celery-2.4.6-py2.7.egg/celery/result.py", line 95, in get
interval=interval)
File "/usr/local/lib/python2.7/dist-packages/celery-2.4.6-py2.7.egg/celery/backends/amqp.py", line 147, in wait_for
raise self.exception_to_python(meta["result"])
IndexError: list index out of range
这个IndexError来自我的代码还是来自Celery的某个地方?如果它来自我的代码,我该如何追踪它?在调用wait()之前和之后记录消息不会显示任何奇怪的内容。