gpt4 book ai didi

python - 为什么当底层任务抛出异常时 Celery 不会抛出异常

转载 作者:IT老高 更新时间:2023-10-28 22:00:25 27 4
gpt4 key购买 nike

Celery 似乎没有正确处理异常。

如果我有任务:

def errorTest():
raise Exception()

然后我打电话

r = errorTest.delay()
In [8]: r.result

In [9]: r.state
Out[9]: 'PENDING'

它会像这样无限期地挂起。

去检查日志显示错误是在任务中抛出(如果你想要消息,问),我知道后端和一切都设置正确,因为其他任务正常工作并正确返回结果.

为了在 Celery 中捕获异常,我需要做一些奇怪的事情吗?

/Celery 版本是 3.0.13,broker 是我本地机器上运行的 RabbitMQ

最佳答案

如果您在 CELERY_ALWAYS_EAGER 设置为 True 的情况下运行 Celery,请确保在您的设置中也包含此行:

CELERY_EAGER_PROPAGATES_EXCEPTIONS = True

http://docs.celeryproject.org/en/latest/configuration.html#celery-eager-propagates-exceptions

关于python - 为什么当底层任务抛出异常时 Celery 不会抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14694771/

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