在运行 celery -A proj worker 抛出这个错误
[2018-11-15 12:02:53,607: CRITICAL/MainProcess] 不可恢复的错误:AttributeError("'float' 对象没有属性 'items'",)
回溯(最近一次调用最后一次):
文件“/user/lib/python3.6/site-packages/celery/worker/worker.py”,第 205 行,在开始
self.blueprint.start(self)
文件“/user/lib/python3.6/site-packages/celery/bootsteps.py”,第 119 行,在开始
step.start(父)
文件“/user/lib/python3.6/site-packages/celery/bootsteps.py”,第369行,在开始
返回 self.obj.start()
文件“/user/lib/python3.6/site-packages/celery/worker/consumer/consumer.py”,第317行,在开始
blueprint.start(self)
文件“/user/lib/python3.6/site-packages/celery/bootsteps.py”,第 119 行,在开始
step.start(父)
文件“/user/lib/python3.6/site-packages/celery/worker/consumer/consumer.py”,第 593 行,在开始
c.loop( c.loop_args())文件“/user/lib/python3.6/site-packages/celery/worker/loops.py”,第 91 行,在 asynloop 中下一个(循环)文件“/user/lib/python3.6/site-packages/kombu/asynchronous/hub.py”,第 354 行,在 create_loop 中cb( cbargs)
文件“/user/lib/python3.6/site-packages/kombu/transport/redis.py”,第 1040 行,在 on_readable
self.cycle.on_readable(fileno)
文件“/user/lib/python3.6/site-packages/kombu/transport/redis.py”,第 337 行,在 on_readable
chan.handlers类型
文件“/user/lib/python3.6/site-packages/kombu/transport/redis.py”,第 724 行,在 _brpop_read
self.connection._deliver(loads(bytes_to_str(item)), dest)
文件“/user/lib/python3.6/site-packages/kombu/transport/virtual/base.py”,第 983 行,在 _deliver
回调(消息)
_callback 中的文件“/user/lib/python3.6/site-packages/kombu/transport/virtual/base.py”,第 632 行
self.qos.append(message, message.delivery_tag)
文件“/user/lib/python3.6/site-packages/kombu/transport/redis.py”,第149行,附加
pipe.zadd(self.unacked_index_key, time(), delivery_tag) \
文件“/user/lib/python3.6/site-packages/redis/client.py”,第 2263 行,在 zadd 中
对于迭代项(映射)中的配对:
文件“/user/lib/python3.6/site-packages/redis/_compat.py”,第 123 行,在迭代项中
返回迭代器(x.items())
AttributeError: 'float' 对象没有属性 'items'
使用 Python 3.6.6,redis 3.0.0.post1
今天早上我收到了一个非常相似的错误:
[2018-11-15 09:55:33,342: CRITICAL/MainProcess] Unrecoverable error: AttributeError("'float' object has no attribute 'iteritems'",)
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/celery/worker/worker.py", line 205, in start
self.blueprint.start(self)
File "/usr/local/lib/python2.7/dist-packages/celery/bootsteps.py", line 119, in start
step.start(parent)
File "/usr/local/lib/python2.7/dist-packages/celery/bootsteps.py", line 369, in start
return self.obj.start()
File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer/consumer.py", line 317, in start
blueprint.start(self)
File "/usr/local/lib/python2.7/dist-packages/celery/bootsteps.py", line 119, in start
step.start(parent)
File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer/consumer.py", line 593, in start
c.loop(*c.loop_args())
File "/usr/local/lib/python2.7/dist-packages/celery/worker/loops.py", line 91, in asynloop
next(loop)
File "/usr/local/lib/python2.7/dist-packages/kombu/asynchronous/hub.py", line 354, in create_loop
cb(*cbargs)
File "/usr/local/lib/python2.7/dist-packages/kombu/transport/redis.py", line 1040, in on_readable
self.cycle.on_readable(fileno)
File "/usr/local/lib/python2.7/dist-packages/kombu/transport/redis.py", line 337, in on_readable
chan.handlers[type]()
File "/usr/local/lib/python2.7/dist-packages/kombu/transport/redis.py", line 724, in _brpop_read
self.connection._deliver(loads(bytes_to_str(item)), dest)
File "/usr/local/lib/python2.7/dist-packages/kombu/transport/virtual/base.py", line 983, in _deliver
callback(message)
File "/usr/local/lib/python2.7/dist-packages/kombu/transport/virtual/base.py", line 632, in _callback
self.qos.append(message, message.delivery_tag)
File "/usr/local/lib/python2.7/dist-packages/kombu/transport/redis.py", line 149, in append
pipe.zadd(self.unacked_index_key, time(), delivery_tag) \
File "/usr/local/lib/python2.7/dist-packages/redis/client.py", line 2263, in zadd
for pair in iteritems(mapping):
File "/usr/local/lib/python2.7/dist-packages/redis/_compat.py", line 94, in iteritems
return x.iteritems()
AttributeError: 'float' object has no attribute 'iteritems'
Python 2.7,Redis 3.0.0.post1
不是芹菜问题 - 似乎是通过 pip 安装的 Redis 3.0.0.post1 的问题。
解决办法:用pip回滚redis: pip install redis==2.10.6
一切都对我有用了。
依赖固定是 celery 问题。 虽然看起来在这里固定
https://github.com/celery/celery/pull/5176
我们可以快速发布 4.2.2 来解决这个问题吗?
您可以在 Celery 之外固定依赖项,直到此问题得到修复。
Pipenv用户:添加redis = "~=2.10.6"
_before_的celery
在入门Pipfile
。
它已在昆布和芹菜大师中修复
我们可以获得 celery 的补丁版本吗?
不是芹菜问题 - 似乎是通过 pip 安装的 Redis 3.0.0.post1 的问题。
解决办法:用pip回滚redis:
pip install redis==2.10.6
一切都对我有用了。
谢谢
我们可以获得 celery 的补丁版本吗?
补丁发布会很棒!!!
社区是否可以做些什么来使其早日成为可能? 可以看到,很多相关的项目都在提到这个问题,并确定了redis的版本。
我确实为kombu发布了一个补丁。 它应该可以解决问题。
请订阅我们存储库上的发布通知,而不是 ping 我们。
不是芹菜问题 - 似乎是通过 pip 安装的 Redis 3.0.0.post1 的问题。
解决办法:用pip回滚redis:
pip install redis==2.10.6
一切都对我有用了。
辛苦了谢谢!!
它应该在最新的更新中修复:Celery 4.3.0 (kobu 4.5.0)。
您不需要回滚 redis 版本。
它应该在最新的更新中修复:Celery 4.3.0 (kobu 4.5.0)。
您不需要回滚 redis 版本。
没错,这在我的情况下有效。
你好,
我遇到问题 AttributeError: 'float' object has no attribute 'item'
执行回调函数时 callbacks = [checkpointer, earlystopper, lr_reducer, TensorBoardColabCallback(tbc)]
其中调用 /usr/local/lib/python3.6/dist-packages/tensorboardcolab/callbacks.py
我已经安装安装 redis==2.10.6 问题仍然存在。
我正在使用谷歌colab。
@dhanashri88 - 我不认为这是芹菜问题。 您的问题报告/回溯不完整,但看起来这是一个张量板问题。 请向他们的支持频道/邮件列表/github 问题寻求帮助。
最有用的评论
不是芹菜问题 - 似乎是通过 pip 安装的 Redis 3.0.0.post1 的问题。
解决办法:用pip回滚redis:
pip install redis==2.10.6
一切都对我有用了。