2012-07-13 11 views
6

Recientemente me actualicé a Apio 3.0.1 desde 2.3.0 y todas las tareas funcionan bien. Desafortunadamente. Me sale una excepción de "Framing Error" con bastante frecuencia. También estoy ejecutando el supervisor para reiniciar los hilos pero dado que estos nunca son realmente eliminados, el supervisor no tiene forma de saber que el apio debe reiniciarse. ¿Alguien ha visto esto antes?Framing Errors in Celery 3.0.1

2012-07-13 18:53:59,004: ERROR/MainProcess] Unrecoverable error: Exception('Framing Error, received 0x00 while expecting 0xce',) 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/celery/worker/__init__.py", line 350, in start 
    component.start() 
    File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer.py", line 360, in start 
    self.consume_messages() 
    File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer.py", line 445, in consume_messages 
    drain_nowait() 
    File "/usr/local/lib/python2.7/dist-packages/kombu/connection.py", line 175, in drain_nowait 
    self.drain_events(timeout=0) 
    File "/usr/local/lib/python2.7/dist-packages/kombu/connection.py", line 171, in drain_events 
    return self.transport.drain_events(self.connection, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/kombu/transport/amqplib.py", line 262, in drain_events 
    return connection.drain_events(**kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/kombu/transport/amqplib.py", line 97, in drain_events 
    chanmap, None, timeout=timeout) 
    File "/usr/local/lib/python2.7/dist-packages/kombu/transport/amqplib.py", line 155, in  _wait_multiple 
    channel, method_sig, args, content = read_timeout(timeout) 
    File "/usr/local/lib/python2.7/dist-packages/kombu/transport/amqplib.py", line 129, in read_timeout 
    return self.method_reader.read_method() 
    File "/usr/local/lib/python2.7/dist-packages/amqplib/client_0_8/method_framing.py", line 221, in read_method 
    raise m 
Exception: Framing Error, received 0x00 while expecting 0xce 
+0

No es un experto y esto es suposición del seguimiento de la pila, pero, ¿está usted seguro de que sus productores de tareas está escribiendo mensajes en amqp en la versión correcta? Tal vez necesites actualizar la versión del productor, borrar mensajes antiguos o algo así. – pkoch

+0

Actualmente estoy enfrentando el mismo problema. ¿Podría ser diferente AMQP lib en el trabajador y el remitente de la tarea? –

+0

Hola Dan, ¿has resuelto este problema? – antonlitvinenko

Respuesta

4

Aunque no estoy seguro de por qué esto sucede realmente, el cambio de amqplib a librabbitmq me ayudó a superar este problema.

no han cambiado nada en la configuración, simplemente:

pip uninstall amqplib 
pip install librabbitmq 

y trabajadores de apio renovadas.

Tienes idea de esta forma https://github.com/celery/celery/issues/922

+1

esto resolvió el mismo problema para mí en Heroku usando CloudAMQP – alan

+0

se estaba ejecutando este error con Kombu (la biblioteca que se encuentra debajo de Aplery) y moviéndose a librabbitmq desde amqplib funcionó –