Celery: AttributeError: el objeto 'float' no tiene atributo 'items'

Creado en 15 nov. 2018  ·  16Comentarios  ·  Fuente: celery/celery

al ejecutar apio -Un trabajador de proyecto arroja este error

[2018-11-15 12: 02: 53,607: CRITICAL / MainProcess] Error irrecuperable: AttributeError ("el objeto 'float' no tiene atributo 'items'",)
Rastreo (llamadas recientes más última):
Archivo "/user/lib/python3.6/site-packages/celery/worker/worker.py", línea 205, en inicio
self.blueprint.start (self)
Archivo "/user/lib/python3.6/site-packages/celery/bootsteps.py", línea 119, en inicio
step.start (padre)
Archivo "/user/lib/python3.6/site-packages/celery/bootsteps.py", línea 369, en inicio
return self.obj.start ()
Archivo "/user/lib/python3.6/site-packages/celery/worker/consumer/consumer.py", línea 317, en inicio
blueprint.start (auto)
Archivo "/user/lib/python3.6/site-packages/celery/bootsteps.py", línea 119, en inicio
step.start (padre)
Archivo "/user/lib/python3.6/site-packages/celery/worker/consumer/consumer.py", línea 593, en inicio
c.loop ( c.loop_args ())Archivo "/user/lib/python3.6/site-packages/celery/worker/loops.py", línea 91, en asynloopsiguiente (bucle)Archivo "/user/lib/python3.6/site-packages/kombu/asynchronous/hub.py", línea 354, en create_loopcb ( cbargs)
Archivo "/user/lib/python3.6/site-packages/kombu/transport/redis.py", línea 1040, en on_readable
self.cycle.on_readable (fileno)
Archivo "/user/lib/python3.6/site-packages/kombu/transport/redis.py", línea 337, en on_readable
tipo chan.handlers
Archivo "/user/lib/python3.6/site-packages/kombu/transport/redis.py", línea 724, en _brpop_read
self.connection._deliver (cargas (bytes_to_str (elemento)), dest)
Archivo "/user/lib/python3.6/site-packages/kombu/transport/virtual/base.py", línea 983, en _deliver
devolución de llamada (mensaje)
Archivo "/user/lib/python3.6/site-packages/kombu/transport/virtual/base.py", línea 632, en _callback
self.qos.append (mensaje, message.delivery_tag)
Archivo "/user/lib/python3.6/site-packages/kombu/transport/redis.py", línea 149, en anexo
pipe.zadd (self.unacked_index_key, time (), delivery_tag) \
Archivo "/user/lib/python3.6/site-packages/redis/client.py", línea 2263, en zadd
para emparejar en iteritems (mapeo):
Archivo "/user/lib/python3.6/site-packages/redis/_compat.py", línea 123, en iteritems
devolver iter (x.items ())
AttributeError: el objeto 'float' no tiene atributo 'items'

Usando Python 3.6.6, redis 3.0.0.post1

Comentario más útil

No es un problema de apio: parece ser un problema con Redis 3.0.0.post1 instalado a través de pip.

Solución: revertir redis con pip: pip install redis==2.10.6

todo funciona de nuevo para mí.

Todos 16 comentarios

Recibo un error muy similar esta mañana:

[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

No es un problema de apio: parece ser un problema con Redis 3.0.0.post1 instalado a través de pip.

Solución: revertir redis con pip: pip install redis==2.10.6

todo funciona de nuevo para mí.

La fijación de la dependencia es un problema de apio. Aunque parece arreglado aquí
https://github.com/celery/celery/pull/5176

¿Podemos liberar rápidamente 4.2.2 para resolver esto, por favor?

Puede anclar la dependencia fuera de Celery hasta que se solucione.

Usuarios de Pipenv: agregue redis = "~=2.10.6" _antes_ de la entrada celery en la entrada Pipfile .

está arreglado en kombu y apio master

¿Podemos obtener un lanzamiento de parche para el apio?

No es un problema de apio: parece ser un problema con Redis 3.0.0.post1 instalado a través de pip.

Solución: revertir redis con pip: pip install redis==2.10.6

todo funciona de nuevo para mí.

Gracias

¿Podemos obtener un lanzamiento de parche para el apio?

¡Un lanzamiento de parche sería genial!

¿Hay algo que la comunidad pueda hacer para que sea posible más temprano que tarde? Como puede ver, muchos proyectos relacionados se refieren a este problema y definen la versión de redis.

Lancé un parche para kombu. Debería resolver el problema.
Suscríbase para recibir notificaciones de lanzamiento en nuestros repositorios en lugar de enviarnos un ping.

No es un problema de apio: parece ser un problema con Redis 3.0.0.post1 instalado a través de pip.

Solución: revertir redis con pip: pip install redis==2.10.6

todo funciona de nuevo para mí.

Trabajado gracias !!

Debería corregirse en la actualización más reciente: Apio 4.3.0 (kobu 4.5.0).
No es necesario revertir la versión de redis.

Debería corregirse en la actualización más reciente: Apio 4.3.0 (kobu 4.5.0).
No es necesario revertir la versión de redis.

Es cierto, esto funciona en mi caso.

Hola,
Recibo un problema AttributeError: el objeto 'float' no tiene el atributo 'item'
mientras se ejecutan las devoluciones de llamada de la función de devolución de llamada = [checkpointer, earlystopper, lr_reducer, TensorBoardColabCallback (tbc)]
que llaman /usr/local/lib/python3.6/dist-packages/tensorboardcolab/callbacks.py
Tengo install install redis == 2.10.6 todavía el problema persiste.
Estoy usando google colab.

@ dhanashri88 - No creo que esto sea un problema de apio. Su informe de problemas / seguimiento no está completo, pero parece que se trata de un problema de tensorboard. Solicite ayuda a su canal de soporte / lista de correo / problemas de github.

¿Fue útil esta página
0 / 5 - 0 calificaciones