2013-03-09 7 views
5

Ich versuche eine Instanz von Django auf einem Debian-Server einzurichten, wobei django-sellery mit RabbitMQ für verteilte Aufgaben kommuniziert.Schwerwiegender Fehler beim Starten von Django-Sellerie mit RabbitMQ [Unbekannte AMQP-Methode (10, 60)]

Ich kann den RabbitMQ-Server einrichten und er wird mit einem guten Status reagieren, aber sobald Sellerie Kontakt mit RabbitMQ aufnimmt, wird ein Fehler ausgegeben und der Vorgang beendet. Hier ist, wie es aussieht, wenn ich versuche, eine dev Instanz von Sellerie zu starten:

[2013-03-08 16:59:23,707: WARNING/MainProcess] [email protected] ready. 
[2013-03-08 16:59:23,725: INFO/MainProcess] consumer: Connected to amqp://[email protected]:5672//rabbit_vhost. 
[2013-03-08 16:59:23,734: ERROR/MainProcess] Unrecoverable error: AMQPError('Unknown AMQP method (10, 60)', None, None, None, '') 
Traceback (most recent call last): 
    File "/usr/local/lib/python2.6/dist-packages/celery/worker/__init__.py", line 351, in start 
    component.start() 
    File "/usr/local/lib/python2.6/dist-packages/celery/worker/consumer.py", line 392, in start 
    self.reset_connection() 
    File "/usr/local/lib/python2.6/dist-packages/celery/worker/consumer.py", line 748, in reset_connection 
    self.reset_pidbox_node() 
    File "/usr/local/lib/python2.6/dist-packages/celery/worker/consumer.py", line 687, in reset_pidbox_node 
    callback=self.on_control, 
    File "/usr/local/lib/python2.6/dist-packages/kombu/pidbox.py", line 71, in listen 
    consumer.consume() 
    File "/usr/local/lib/python2.6/dist-packages/kombu/messaging.py", line 401, in consume 
    self._basic_consume(T, no_ack=no_ack, nowait=False) 
    File "/usr/local/lib/python2.6/dist-packages/kombu/messaging.py", line 522, in _basic_consume 
    no_ack=no_ack, nowait=nowait) 
    File "/usr/local/lib/python2.6/dist-packages/kombu/entity.py", line 571, in consume 
    nowait=nowait) 
    File "/usr/local/lib/python2.6/dist-packages/amqp/channel.py", line 1766, in basic_consume 
    (60, 21), # Channel.basic_consume_ok 
    File "/usr/local/lib/python2.6/dist-packages/amqp/abstract_channel.py", line 69, in wait 
    self.channel_id, allowed_methods) 
    File "/usr/local/lib/python2.6/dist-packages/amqp/connection.py", line 230, in _wait_method 
    self.wait() 
    File "/usr/local/lib/python2.6/dist-packages/amqp/abstract_channel.py", line 71, in wait 
    return self.dispatch_method(method_sig, args, content) 
    File "/usr/local/lib/python2.6/dist-packages/amqp/abstract_channel.py", line 85, in dispatch_method 
    raise AMQPError('Unknown AMQP method %r' % (method_sig,)) 
AMQPError: Unknown AMQP method (10, 60) 

Nur um zu bestätigen, kann ich das RabbitMQ überprüfen noch läuft danach:

# rabbitmqctl status 
Status of node [email protected] ... 
[{running_applications,[{rabbit,"RabbitMQ","1.8.1"}, 
         {mnesia,"MNESIA CXC 138 12","4.4.14"}, 
         {os_mon,"CPO CXC 138 46","2.2.5"}, 
         {sasl,"SASL CXC 138 11","2.1.9.2"}, 
         {stdlib,"ERTS CXC 138 10","1.17"}, 
         {kernel,"ERTS CXC 138 10","2.14"}]}, 
{nodes,[{disc,[[email protected]]}]}, 
{running_nodes,[[email protected]]}] 
...done. 

Dies ist das letzte, was verhindert Ich vom Start meiner Website und hat mich alle frazzled, so würde jede Hilfe sehr geschätzt werden! Vielen Dank.

Antwort

6

Downgrade Kombu zu 2.4.7 wird es beheben. Der rabbitmq-Server ist nicht neu genug, um AMQP 0-9-1 zu unterstützen.

+0

Sie haben Recht, danke! Sieht aus, als hätten diese Leute das gleiche Problem: [github issue] (https://github.com/sellery/django-sellery/issues/217) – Lou

1

Ich lief mit dem gleichen Problem in Ubuntu. Es scheint, dass (möglicherweise abhängig von der Ubuntu-Version) die enthaltenen RabbitMQ-Pakete möglicherweise veraltet sind. Und die RabbitMQ installation guide besagt, dass dies durchaus möglich ist. Daher empfehlen sie, das .deb-Paket von ihrer Website zu installieren.