Chr*_*isR 2 django heroku rabbitmq celery
我的平台经历了很多任务(每天几千个).一些较长的任务,他们一直失败,出现以下错误:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python2.7/site-packages/billiard/pool.py", line 1167, in mark_as_worker_lost
human_status(exitcode)),
WorkerLostError: Worker exited prematurely: exitcode 0.
Run Code Online (Sandbox Code Playgroud)
根据Celery的花,它没有提供任何超过发布的追溯,任务是在它开始前四分钟收到(2014-12-22 22:46:46.196814)(2014-12-22 22:50:03.469647 ),并在短短十秒内失败(纪元1419288613.34或2014-12-22 22:50:13).
这是我平台上反复出现的问题.它主要发生在运行scrapy 0.24.2的任务中,但也可能发生在其他任务中.
WorkerLostError的其他持续时间(退出代码为零)是三分钟,五分钟或七分钟.
有什么可能导致这个问题的想法?所有任务在本地运行完美.谢谢.
小智 8
我的建议是检查你正在使用的所有模块以及'raise BaseException'的代码.我遇到了WorkerLostError exitcode 0的问题.
在经过大量调试并特别确定任务失败的地方后,我发现是在引发BaseException时.发生了WorkerLostError,而不是提供错误消息.
通过更改为"raise Exception",在任务内部出现错误时提供了实际的错误消息.对于您的情况,这可能不一样,但这是我在处理相同错误时发现的.
小智 6
我也注意到同样的错误:
[...ERROR/MainProcess] Task ... raised unexpected: WorkerLostError('Worker exited prematurely: exitcode 0.',)
Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/billiard/pool.py", line 1175, in mark_as_worker_lost
human_status(exitcode)),
billiard.exceptions.WorkerLostError: Worker exited prematurely: exitcode 0.
Run Code Online (Sandbox Code Playgroud)
不仅具有BaseException,还具有从 子类化的自定义异常BaseException。更改基类以Exception允许实际异常与堆栈跟踪一起引发。
| 归档时间: |
|
| 查看次数: |
2376 次 |
| 最近记录: |