2012-07-13 5 views
6

最近、2.3.0からCelery 3.0.1にアップグレードされ、すべてのタスクがうまく動作します。残念ながら。私はかなり頻繁に "フレーミングエラー"例外を取得しています。私はまた、スレッドを再起動するためにスーパーバイザを実行していますが、実際に殺されたことはないので、スーパーバイザはセロリを再起動する必要があることを知る方法がありません。誰もこれを見たことがありますか?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

ない専門家を手に入れたし、これは、スタックトレースからの推測ですが、あなたはあなたの仕事の生産が正しいバージョンでAMQPにメッセージを書いていることを確認していますか?おそらく、プロデューサのバージョンを更新したり、古いメッセージをフラッシュしたりする必要があります。 – pkoch

+0

私は現在、同じ問題に直面しています。それは労働者とタスクの送信者に異なるAMQPのlibですか? –

+0

ちょっとダン、この問題を解決しましたか? – antonlitvinenko

答えて

4

私はamqplibからlibrabbitmqへの切り替え、これは実際になぜ起こるかわからないもののこのトラブルを克服するために私を助けました。

私は、コンフィギュレーションには何も変わっていない:

pip uninstall amqplib 
pip install librabbitmq 

を、セロリの労働者を再起動します。

はこのアイデアを形https://github.com/celery/celery/issues/922

+1

これは、CloudAMQP – alan

+0

を使用しているHerokuの同じ問題を、Kombu(Celeryの下にあるライブラリ)で実行していて、amqplibからlibrabbitmqに移動していました –

関連する問題