RabbitMQ / Celery с Django зависает при задержке / готовности / etc - Нет полезной информации о журнале

StackOverflow https://stackoverflow.com/questions/2141083

Вопрос

Итак, я просто настроил celery и rabbitmq, создал своего пользователя, настроил vhost, сопоставил пользователя с vhost и успешно запустил демон celery (по крайней мере, я так предполагаю)

(queuetest)corky@corky-server:~/projects/queuetest$ ./manage.py celeryd
 celery@corky-server v0.9.5 is starting.
 Configuration ->
. broker -> amqp://celery@localhost:5672/
. queues ->
. celery -> exchange:celery (direct) binding:celery
. concurrency -> 2
. loader -> celery.loaders.djangoapp
. logfile -> [stderr]@WARNING
. events -> OFF
. beat -> OFF

Celery has started.

Я создал пользователя "сельдерей", потому что в этом случае я не чувствовал себя очень изобретательным.

Когда я пытаюсь выполнить один из простых примеров в документах celery:

>>> from tasks import add
>>> r = add.delay(2, 2)
>>> r
<AsyncResult: 16235ea3-c7d6-4cce-9387-5c6285312c7c>
>>> r.ready()
(hangs for eternity.)

Итак, я проверил FAQ, задаваясь вопросом, что еще может быть не так, и он сказал мне, что это обычная ошибка из-за пользовательских разрешений, поэтому я трижды проверил их, ничего, создал еще одного нового пользователя, по-прежнему ничего.Если я импортирую DjangoBrokerConnection От carrot.connection и получите информацию, она совпадает с тем, что есть в моих настройках сельдерея.В FAQ указано, что нужно проверить ваш файл журнала.

Мой rabbit.log файл не очень полезен в этой ситуации, просто показывая:

=INFO REPORT==== 26-Jan-2010::11:58:22 ===
accepted TCP connection on 0.0.0.0:5672 from 127.0.0.1:60572

=INFO REPORT==== 26-Jan-2010::11:58:22 ===
starting TCP connection <0.1120.0> from 127.0.0.1:60572

И так далее.На данный момент я в недоумении относительно того, в чем еще может заключаться моя проблема.Я запускаю Ubuntu Jaunty и установил RabbitMQ из apt-get.

Заранее спасибо за любую помощь.

Это было полезно?

Решение

Я только что исправил действительно уродливую ошибку, которая появлялась бы только у новых пользователей, которые могли бы вызвать это.(http://github.com/ask/celery/commit/a9c1316b15055b67ee3c38d294461fa82ed6d2b5)

Пожалуйста, извлеките данные из главной ветки на github.Если это все еще не работает, вы вероятно, придется остановить rabbitmq, удалить каталог базы данных rabbitmq (обычно /var/lib/rabbitmq) и снова запустите rabbitmq)

Искренне сожалею о доставленных неудобствах.Ошибка произошла из-за того, что мы недавно изменили название параметра ключа маршрутизации потребителей на "ключ привязки", но библиотеки amqp по-прежнему используют routing_key и мы забыли переписать параметр.

Другие советы

Для любого, кто наткнется на это:похоже, это действительно помогает удалить ваш / var / lib / rabbitmq, даже если проблема, похоже, исчезла с обновлением celery.Я видел много ненадежности и непредсказуемости, пока не сделал этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top