Celery: AttributeError: o objeto 'float' não tem nenhum atributo 'items'

Criado em 15 nov. 2018  ·  16Comentários  ·  Fonte: celery/celery

na execução de aipo - Um trabalhador proj lança este erro

[2018-11-15 12: 02: 53.607: CRITICAL / MainProcess] Erro irrecuperável: AttributeError ("objeto 'float' não tem atributo 'itens'",)
Traceback (última chamada mais recente):
Arquivo "/user/lib/python3.6/site-packages/celery/worker/worker.py", linha 205, no início
self.blueprint.start (self)
Arquivo "/user/lib/python3.6/site-packages/celery/bootsteps.py", linha 119, no início
step.start (pai)
Arquivo "/user/lib/python3.6/site-packages/celery/bootsteps.py", linha 369, no início
return self.obj.start ()
Arquivo "/user/lib/python3.6/site-packages/celery/worker/consumer/consumer.py", linha 317, no início
blueprint.start (self)
Arquivo "/user/lib/python3.6/site-packages/celery/bootsteps.py", linha 119, no início
step.start (pai)
Arquivo "/user/lib/python3.6/site-packages/celery/worker/consumer/consumer.py", linha 593, no início
c.loop ( c.loop_args ())Arquivo "/user/lib/python3.6/site-packages/celery/worker/loops.py", linha 91, em asynlooppróximo (loop)Arquivo "/user/lib/python3.6/site-packages/kombu/asynchronous/hub.py", linha 354, em create_loopcb ( cbargs)
Arquivo "/user/lib/python3.6/site-packages/kombu/transport/redis.py", linha 1040, em on_readable
self.cycle.on_readable (fileno)
Arquivo "/user/lib/python3.6/site-packages/kombu/transport/redis.py", linha 337, em on_readable
chan.handlers type
Arquivo "/user/lib/python3.6/site-packages/kombu/transport/redis.py", linha 724, em _brpop_read
self.connection._deliver (carrega (bytes_to_str (item)), dest)
Arquivo "/user/lib/python3.6/site-packages/kombu/transport/virtual/base.py", linha 983, em _deliver
retorno de chamada (mensagem)
Arquivo "/user/lib/python3.6/site-packages/kombu/transport/virtual/base.py", linha 632, em _callback
self.qos.append (mensagem, mensagem.delivery_tag)
Arquivo "/user/lib/python3.6/site-packages/kombu/transport/redis.py", linha 149, em anexo
pipe.zadd (self.unacked_index_key, time (), delivery_tag) \
Arquivo "/user/lib/python3.6/site-packages/redis/client.py", linha 2263, em zadd
para par em iteritens (mapeamento):
Arquivo "/user/lib/python3.6/site-packages/redis/_compat.py", linha 123, em iteritens
return iter (x.items ())
AttributeError: o objeto 'float' não tem nenhum atributo 'items'

Usando Python 3.6.6, redis 3.0.0.post1

Comentários muito úteis

Não é um problema de aipo - parece ser um problema com o Redis 3.0.0.post1 instalado via pip.

Solução: Reverter redis com pip: pip install redis==2.10.6

tudo funcionando novamente para mim.

Todos 16 comentários

Estou recebendo um erro muito semelhante esta manhã:

[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

Não é um problema de aipo - parece ser um problema com o Redis 3.0.0.post1 instalado via pip.

Solução: Reverter redis com pip: pip install redis==2.10.6

tudo funcionando novamente para mim.

A fixação de dependência é um problema de aipo. Parece estar consertado aqui, no entanto
https://github.com/celery/celery/pull/5176

Podemos lançar o 4.2.2 rapidamente para resolver isso, por favor?

Você pode fixar a dependência fora do Celery até que isso seja corrigido.

Usuários do Pipenv: adicione redis = "~=2.10.6" _before_ a entrada celery em Pipfile .

é fixado em kombu e mestre de aipo

Podemos obter um lançamento de patch para o aipo?

Não é um problema de aipo - parece ser um problema com o Redis 3.0.0.post1 instalado via pip.

Solução: Reverter redis com pip: pip install redis==2.10.6

tudo funcionando novamente para mim.

obrigado

Podemos obter um lançamento de patch para o aipo?

Um lançamento de patch seria ótimo !!!

Existe algo que a comunidade pode fazer para tornar isso possível mais cedo ou mais tarde? Como você pode ver, muitos projetos relacionados estão se referindo a esse problema e definindo a versão redis.

Eu lancei um patch para o kombu. Deve resolver o problema.
Por favor, inscreva-se para notificações de lançamento em nossos repositórios, em vez de nos enviar ping.

Não é um problema de aipo - parece ser um problema com o Redis 3.0.0.post1 instalado via pip.

Solução: Reverter redis com pip: pip install redis==2.10.6

tudo funcionando novamente para mim.

Funcionou obrigado !!

Deve ser corrigido na atualização mais recente: Celery 4.3.0 (kobu 4.5.0).
Você não precisa reverter a versão do redis.

Deve ser corrigido na atualização mais recente: Celery 4.3.0 (kobu 4.5.0).
Você não precisa reverter a versão do redis.

Verdade, isso funciona no meu caso.

Oi,
Estou recebendo o problema AttributeError: o objeto 'float' não tem o atributo 'item'
durante a execução de callbacks de função de retorno de chamada = [checkpointer, earlystopper, lr_reducer, TensorBoardColabCallback (tbc)]
que chama /usr/local/lib/python3.6/dist-packages/tensorboardcolab/callbacks.py
Eu instalei o redis == 2.10.6 ainda o problema persiste.
Estou usando o Google Colab.

@ dhanashri88 - Não acho que seja um problema de aipo. Seu relatório de problema / tracceback não está completo, mas parece que se trata de um problema do tensorboard. Por favor, pergunte ao canal de suporte / lista de discussão / problemas do github para obter ajuda.

Esta página foi útil?
0 / 5 - 0 avaliações