Итак, я просто установил 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.
Я создал пользователя «сельдерея», потому что в этом случае я не чувствовал себя очень изобретательным.
Когда я пытаюсь сделать один из простых примеров в документации по сельдерею:
>>> 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.
Заранее спасибо за любую помощь.