gpt4 book ai didi

django - 使用退出代码零调试 celery WorkerLostError(Heroku 上的 Django 1.5.5 + celery 3.1.8 + RabbitMQ 3.1.3)

转载 作者:行者123 更新时间:2023-12-01 08:28:19 26 4
gpt4 key购买 nike

我的平台运行了很多任务(每天几千个)。他们的一些较长任务不断失败,并出现以下错误:

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.

根据 Celery's Flower 的说法,它只提供发布的回溯,任务在开始前四分钟收到( 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 的其他持续时间(退出代码也为零)是三分钟、五分钟或七分钟。

关于可能导致这种情况的任何想法?所有任务在本地都运行良好。谢谢。

最佳答案

我的建议是检查您正在使用的所有模块以及您的“raise BaseException”代码。我遇到了 WorkerLostError 退出代码 0 的问题。

经过大量调试并明确找出任务失败的地方,我发现这是引发 BaseException 的时候。发生了 WorkerLostError 而不是提供错误消息。

通过更改为“引发异常”,当任务内部出现问题时会提供实际的错误消息。对于您的情况,这可能不一样,但这是我在处理相同错误时发现的。

关于django - 使用退出代码零调试 celery WorkerLostError(Heroku 上的 Django 1.5.5 + celery 3.1.8 + RabbitMQ 3.1.3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27612584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com