6

我最近从 2.3.0 升级到 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
4

1 回答 1

5

虽然我不确定为什么会发生这种情况,但从 切换amqpliblibrabbitmq帮助我克服了这个麻烦。

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

pip uninstall amqplib
pip install librabbitmq

并重新启动芹菜工人。

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

于 2012-08-23T01:48:54.960 回答