我今天在使用celery启动多个queue时遇到一个问题,当启动第二个queue是,第一个启动的queue日志报了下面一段错误

[2019-12-16 14:40:25,736: ERROR/MainProcess] Control command error: OperationalError("\nCannot route message for exchange 'reply.celery.pidbox': Table empty or key no longer exists.\nProbably the key ('_kombu.binding.reply.celery.pidbox') has been removed from the Redis database.\n")
Traceback (most recent call last):
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 439, in _reraise_as_library_errors
yield
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 518, in _ensured
return fun(*args, **kwargs)
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/messaging.py", line 203, in _publish
mandatory=mandatory, immediate=immediate,
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/virtual/base.py", line 605, in basic_publish
message, exchange, routing_key, **kwargs
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/virtual/exchange.py", line 70, in deliver
for queue in _lookup(exchange, routing_key):
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/redis.py", line 877, in _lookup
exchange, redis_key))
kombu.exceptions.InconsistencyError:
Cannot route message for exchange 'reply.celery.pidbox': Table empty or key no longer exists.
Probably the key ('_kombu.binding.reply.celery.pidbox') has been removed from the Redis database. During handling of the above exception, another exception occurred: Traceback (most recent call last):
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/celery/worker/pidbox.py", line 46, in on_message
self.node.handle_message(body, message)
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/pidbox.py", line 145, in handle_message
return self.dispatch(**body)
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/pidbox.py", line 115, in dispatch
ticket=ticket)
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/pidbox.py", line 151, in reply
serializer=self.mailbox.serializer)
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/pidbox.py", line 285, in _publish_reply
**opts
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
exchange_name, declare,
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 551, in _ensured
errback and errback(exc, 0)
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/contextlib.py", line 130, in __exit__
self.gen.throw(type, value, traceback)
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 444, in _reraise_as_library_errors
sys.exc_info()[2])
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
raise value.with_traceback(tb)
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 439, in _reraise_as_library_errors
yield
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 518, in _ensured
return fun(*args, **kwargs)
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/messaging.py", line 203, in _publish
mandatory=mandatory, immediate=immediate,
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/virtual/base.py", line 605, in basic_publish
message, exchange, routing_key, **kwargs
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/virtual/exchange.py", line 70, in deliver
for queue in _lookup(exchange, routing_key):
File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/redis.py", line 877, in _lookup
exchange, redis_key))
kombu.exceptions.OperationalError:
Cannot route message for exchange 'reply.celery.pidbox': Table empty or key no longer exists.
Probably the key ('_kombu.binding.reply.celery.pidbox') has been removed from the Redis database.

经过多方查找,发现这个问题是kombu组件的一个bug,查了一下当前kombu版本发现版本是4.6.5,将版本回退到4.6.4,再启动这个问题就解决了,据说有人需要将版本降到4.6.3,但是我这边不用

使用redis作为调度中心的celery时启动多个queue,报错Probably the key ('_kombu.binding.reply.celery.pidbox') has been removed from the Redis database的更多相关文章

  1. 使用Lua 脚本实现redis 分布式锁,报错:ERR Error running script (call to f_8ea1e266485534d17ddba5af05c1b61273c30467): @user_script:10: @user_script: 10: Lua redis() command arguments must be strings or integers .

    在使用SpringBoot开发时,使用RedisTemplate执行 redisTemplate.execute(lockScript, redisList); 发现报错: ERR Error run ...

  2. eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错? java.lang.ClassNotFoundException: com.branchitech.app.startup.AppStartupContextListener java.lang.ClassN

    eclipse java项目中明明引入了jar包 为什么项目启动的时候不能找到jar包 项目中已经 引入了 com.branchitech.app 包 ,但时tomcat启动的时候还是报错?java. ...

  3. dotnetcore ef 调用多个数据库时用户命令执行操作报错

    dotnetcore ef 调用多个数据库时用户命令执行操作报错 1.多个DbContext 时报错: 报错: More than one DbContext was found. Specify w ...

  4. ionic使用iframe时无法显示网页或报错

    ionic使用iframe时无法显示网页或报错 Uncaught DOMException: Blocked a frame with origin 在config.xml中添加 <access ...

  5. js插件设置innerHTML时,在IE8下报错“未知运行时错误”

    问题描述: 网站中使用了一个js插件,设置innerHTML时,在IE8下报错“未知运行时错误”: <div id=”divContainer”> <a name=”link”> ...

  6. 安装hue时,make apps 编译报错

    安装hue时,make apps 编译报错 :"Error: must have python development packages for 2.6 or 2.7. Could not ...

  7. ROS常见问题(一) 安装ROS时sudo rosdep init指令报错 最全解决方法

    安装ROS时sudo rosdep init指令报错: ERROR: cannot download default sources list from: https://raw.githubuser ...

  8. 在运行vue项目时,执行npm install报错小记

    在运行vue项目时,执行npm install 报错,导致后续的执行报各种错误,根据报错,尝试了网上的各种办法,最后发现时网络问题下载失败导致,解决办法: 安装cnpm==>npm instal ...

  9. Django+Celery+redis kombu.exceptions.EncodeError:Object of type is not JSON serializable报错

    在本文中例子中遇到问题的各种开发版本如下: Python3.6.8 Django==2.2 celery==4.4.0 kombu==4.6.7 redis==3.3.0 大概的报错如下截图: 是在开 ...

随机推荐

  1. word转txt

    import org.apache.poi.hwpf.extractor.WordExtractor; import java.io.IOException; import java.io.Input ...

  2. logstash将redis中的队列中数据发送到influxdb数据库中

    通过elk获取到的java jvm中ygc的时间如下: 现在讲ygc字段的值,发送到influxdb中 首先安装logstash的插件 logstash-output-influxdb 安装完成后,查 ...

  3. 电信NBIOT 3 - 数据下行

    电信NBIOT 1 - 数据上行(中国电信开发者平台对接流程) 电信NBIOT 2 - 数据上行(中间件获取电信消息通知) 电信NBIOT 3 - 数据下行 电信NBIOT 4 - NB73模块上行测 ...

  4. 智能家居-1.基于esp8266的语音控制系统(开篇)

    智能家居-1.基于esp8266的语音控制系统(开篇) 智能家居-2.基于esp8266的语音控制系统(硬件篇) 智能家居-3.基于esp8266的语音控制系统(软件篇) apache-apollo安 ...

  5. WIP表解析

      1,WIP的作用 负责纪录生产相关信息,生产什莫--工单的制定,下达,生产步鄹--工序及其移动,投入什莫--组件需求和投料,资源投入入和费用吸收,负责纪录生产成本的归集和差异分析,投入多少组件,资 ...

  6. BERT安装与使用

    环境: python 3.5 tensorflow 1.12.1 bert-serving-server 1.9.1 bert-serving-cline 1.9.1 官网上说要保证Python &g ...

  7. torchline:让Pytorch使用的更加顺滑

    torchline地址:https://github.com/marsggbo/torchline 相信大家平时在使用Pytorch搭建网络时,多少还是会觉得繁琐,因为我们需要搭建数据读取,模型,训练 ...

  8. Pytorch 使用不同版本的 cuda

    由于课题的原因,笔者主要通过 Pytorch 框架进行深度学习相关的学习和实验.在运行和学习网络上的 Pytorch 应用代码的过程中,不少项目会标注作者在运行和实验时所使用的 Pytorch 和 c ...

  9. Maven 本地仓库同步到私服中

    步骤: 第一步:找到安装私服的目录中plexus.properties文件. 地址:C:\Windows\apache-tomcat-7.0.26\webapps\nexus-2.7.0-06\WEB ...

  10. 从网络服务生成Apex类

    使用WSDL2Apex从网络服务生成Apex类 如果某个网络服务被定义在WSDL文件中,而Salesforce必须使用SOAP和网络服务进行通信,则这种情况在某些时候会为开发者带来很多麻烦.为了简化S ...