You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Celery 5.5.2访问AsyncResult.status属性时随机触发RecursionError

Celery异步任务状态查询出现循环调用异常

代码实现

task_id = payload.task_id
task_result = AsyncResult(task_id)
if task_result.status == "SUCCESS":
    print("I am happy")

环境配置

Celery仅做基础配置:将broker和backend设置为同一RabbitMQ实例,其余均为默认配置。

问题现象

无法稳定复现该异常,仅在使用随机ID(123)时连续出现过两次异常。片刻后恢复正常,返回PENDING状态。

异常堆栈中的循环调用链

查看堆栈跟踪后,发现存在以下循环调用逻辑:

self.connection.drain_events(timeout=timeout)
while not self.blocking_read(timeout):
return self.on_inbound_frame(frame)
callback(channel, method_sig, buf, None)
return self.channels[channel_id].dispatch_method(
listener(*args)
self._do_revive()
self.open()
return self.send_method(
return self.wait(wait, returns_tuple=returns_tuple)
self.connection.drain_events(timeout=timeout)

内容的提问来源于stack exchange,提问作者Christian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 22:05:58