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

  1. [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")
  2. Traceback (most recent call last):
  3. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 439, in _reraise_as_library_errors
  4. yield
  5. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 518, in _ensured
  6. return fun(*args, **kwargs)
  7. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/messaging.py", line 203, in _publish
  8. mandatory=mandatory, immediate=immediate,
  9. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/virtual/base.py", line 605, in basic_publish
  10. message, exchange, routing_key, **kwargs
  11. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/virtual/exchange.py", line 70, in deliver
  12. for queue in _lookup(exchange, routing_key):
  13. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/redis.py", line 877, in _lookup
  14. exchange, redis_key))
  15. kombu.exceptions.InconsistencyError:
  16. Cannot route message for exchange 'reply.celery.pidbox': Table empty or key no longer exists.
  17. Probably the key ('_kombu.binding.reply.celery.pidbox') has been removed from the Redis database.
  18.  
  19. During handling of the above exception, another exception occurred:
  20.  
  21. Traceback (most recent call last):
  22. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/celery/worker/pidbox.py", line 46, in on_message
  23. self.node.handle_message(body, message)
  24. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/pidbox.py", line 145, in handle_message
  25. return self.dispatch(**body)
  26. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/pidbox.py", line 115, in dispatch
  27. ticket=ticket)
  28. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/pidbox.py", line 151, in reply
  29. serializer=self.mailbox.serializer)
  30. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/pidbox.py", line 285, in _publish_reply
  31. **opts
  32. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/messaging.py", line 181, in publish
  33. exchange_name, declare,
  34. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 551, in _ensured
  35. errback and errback(exc, 0)
  36. File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/contextlib.py", line 130, in __exit__
  37. self.gen.throw(type, value, traceback)
  38. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 444, in _reraise_as_library_errors
  39. sys.exc_info()[2])
  40. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/vine/five.py", line 194, in reraise
  41. raise value.with_traceback(tb)
  42. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 439, in _reraise_as_library_errors
  43. yield
  44. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/connection.py", line 518, in _ensured
  45. return fun(*args, **kwargs)
  46. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/messaging.py", line 203, in _publish
  47. mandatory=mandatory, immediate=immediate,
  48. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/virtual/base.py", line 605, in basic_publish
  49. message, exchange, routing_key, **kwargs
  50. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/virtual/exchange.py", line 70, in deliver
  51. for queue in _lookup(exchange, routing_key):
  52. File "/Users/asher/PycharmProjects/ops_release/venv/lib/python3.7/site-packages/kombu/transport/redis.py", line 877, in _lookup
  53. exchange, redis_key))
  54. kombu.exceptions.OperationalError:
  55. Cannot route message for exchange 'reply.celery.pidbox': Table empty or key no longer exists.
  56. 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. Chrome Dev tools的几点小技巧

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  2. weblogic 安全漏洞问题解决

    1 weblogic控制台地址暴露 ²  整改方法: 禁用weblogic控制台.在weblogic域(sguap-domain和base-domain)的config下的config.xml中 &l ...

  3. 【已解决】git怎么合并多个分支到主干master

    git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支,本地每人创建功能分支,日常工作流程如下: 去自己的工作分支$ git checkout workbranch 工作.... 提交工作 ...

  4. Prometheus node_exporter grafana部署安装

    1.环境 centos7 prometheus-2.10.0.linux-amd64.tar.gz node_exporter-0.18.1.linux-amd64.tar.gz 2.安装 创建sys ...

  5. Shell编程——test命令

    1.整数 如果表达式为真返回值为0,如果表达式为假,返回值为1.test命令可以对整数.字符串.以及文件进行判断. -it:小于 -le:小于或等于 -gt:大于 -ge:大于或等于 -eq:等于 - ...

  6. vijos2051 SDOI2019 快速查询

    题目链接 吐槽 竟然让\(nlog\)的做法卡过去了.. 思路 因为\(1 \le q \le 10^5\),所以可以先对每个标准操作,所操作的位置进行重标号.这样所有的下标都是在\(10^5\)以内 ...

  7. loj2305 NOI2017 游戏

    题目链接 思路 既然\(x\)的数量那么小,我们就可以先把每个\(x\)搜索一遍. 枚举x的时候不需要把\(a,b,c\)全枚举一遍,只要枚举其中的两个就可以枚举到当前位置选任何车的情况. 然后就变成 ...

  8. CF1163E Magical Permutation(线性基,构造)

    虽然做起来有一点裸……但是就是想不到啊…… 首先令 $d_i=p_i\oplus p_{i-1}$,那么 $d_i$ 都是 $S$ 中的数,$a_i=d_i\oplus d_{i-1}\oplus \ ...

  9. [LeetCode] 375. Guess Number Higher or Lower II 猜数字大小之二

    We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to gues ...

  10. 屏蔽flash地区识别

    host文件添加以下0.0.0.0 geo2.adobe.com