при запуске сельдерея -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 (сам)
Файл "/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 (сам)
Файл "/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_loopcb ( 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 (загружает (bytes_to_str (элемент)), dest)
Файл "/user/lib/python3.6/site-packages/kombu/transport/virtual/base.py", строка 983, в _deliver
обратный звонок (сообщение)
Файл "/user/lib/python3.6/site-packages/kombu/transport/virtual/base.py", строка 632, в _callback
self.qos.append (сообщение, 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
для пары в iteritems (отображение):
Файл "/user/lib/python3.6/site-packages/redis/_compat.py", строка 123, в iteritems
вернуть iter (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
Не проблема с сельдереем - похоже, проблема с Redis 3.0.0.post1, установленным через pip.
Решение: откатить Redis с помощью pip: pip install redis==2.10.6
у меня снова все работает.
Закрепление зависимостей - это проблема сельдерея. Хотя, похоже, здесь исправят
https://github.com/celery/celery/pull/5176
Можем ли мы быстро выпустить 4.2.2, чтобы решить эту проблему?
Вы можете закрепить зависимость вне Celery, пока это не будет исправлено.
Пользователи Pipenv: добавьте redis = "~=2.10.6"
_before_ в запись celery
в Pipfile
.
это зафиксировано в мастере комбу и сельдерея
Можно ли получить патч для сельдерея?
Не проблема с сельдереем - похоже, проблема с Redis 3.0.0.post1, установленным через pip.
Решение: откатить Redis с помощью pip:
pip install redis==2.10.6
у меня снова все работает.
Благодарность
Можно ли получить патч для сельдерея?
Было бы здорово выпустить патч !!!
Может ли сообщество что-то сделать, чтобы это стало возможным раньше, чем позже? Как видите, многие связанные проекты ссылаются на эту проблему и закрепляют версию Redis.
Я выпустил патч для комбу. Это должно решить проблему.
Подпишитесь на уведомления о выпусках в наших репозиториях вместо того, чтобы пинговать нас.
Не проблема с сельдереем - похоже, проблема с Redis 3.0.0.post1, установленным через pip.
Решение: откатить Redis с помощью pip:
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' не имеет атрибута 'item'
при выполнении функции обратного вызова callbacks = [checkpointer, earlystopper, lr_reducer, TensorBoardColabCallback (tbc)]
которые вызывают /usr/local/lib/python3.6/dist-packages/tensorboardcolab/callbacks.py
У меня есть install install redis == 2.10.6, проблема не устранена.
Я использую Google Colab.
@ dhanashri88 - Я не думаю, что это проблема сельдерея. Ваш отчет о проблеме / отслеживание неполадок не завершен, но похоже, что это проблема с тензорной платой. Обратитесь за помощью к их каналу поддержки / списку рассылки / вопросам github.
Самый полезный комментарий
Не проблема с сельдереем - похоже, проблема с Redis 3.0.0.post1, установленным через pip.
Решение: откатить Redis с помощью pip:
pip install redis==2.10.6
у меня снова все работает.