2012-07-13 45 views
6

我最近从2.3.0升级到芹菜3.0.1,所有的任务运行良好。不幸。我很频繁地收到“Framing Error”异常。我也在运行主管重新启动线程,但由于这些从来没有真正被杀死,所以主管无法知道芹菜需要重新启动。有没有人见过这个?芹菜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

不是专家,这是猜测从堆栈跟踪,但是,你确定你的任务生产者写邮件到AMQP在正确的版本?也许你需要更新制作者的版本,刷新旧信息,或类似的东西。 – pkoch 2012-08-08 03:02:07

+0

我目前面临同样的问题。它可能是不同的工人和任务发送者上的AMQP lib? – 2012-08-10 06:59:52

+0

嘿丹,你解决了这个问题吗? – antonlitvinenko 2012-08-17 20:49:17

回答

4

虽然我不知道为什么这实际发生,从amqplib切换到librabbitmq帮我解决这个麻烦。

我没有在配置改变任何东西,只是:

pip uninstall amqplib 
pip install librabbitmq 

并重新启动芹菜工人。

得到这个想法形式https://github.com/celery/celery/issues/922

+1

这解决了我在Heroku上使用CloudAMQP – alan 2012-08-24 12:36:02

+0

在Kombu(位于Celery下方的库)并从amqplib移动到librabbitmq时出现此错误的相同问题 – 2013-01-29 06:37:23