Я пытаюсь заставить работника Django Celery подключиться к серверу RabbitMQ, все работает на том же хосте.
Однако, когда я запускаю manage.py celery worker
, все, что я получаю, это:
[2013-06-11 17:33:41,185: WARNING/MainProcess] [email protected] has started.
[2013-06-11 17:33:44,192: ERROR/MainProcess] Consumer: Connection Error: Socket closed. Trying again in 2 seconds...
[2013-06-11 17:33:50,203: ERROR/MainProcess] Consumer: Connection Error: Socket closed. Trying again in 4 seconds...
[2013-06-11 17:34:03,214: ERROR/MainProcess] Consumer: Connection Error: Socket closed. Trying again in 6 seconds...
[2013-06-11 17:34:27,232: ERROR/MainProcess] Consumer: Connection Error: Socket closed. Trying again in 8 seconds...
Когда я проверяю мой /var/log/rabbitmq/[email protected]
, я вижу несколько сообщений вроде:
=ERROR REPORT==== 11-Jun-2013::17:33:44 ===
exception on TCP connection <0.201.0> from 127.0.0.1:43461
{channel0_error,opening,
{amqp_error,access_refused,
"access to vhost 'myapp' refused for user 'guest'",
'connection.open'}}
Я использую стандартный пакет из репозитория Ubuntu 12.04 с настройками по умолчанию, и мои настройки django-celery выглядят так:
BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "guest"
BROKER_PASSWORD = "guest"
BROKER_VHOST = "myapp"
Почему RabbitMQ отказывается от соединений?