2013-04-23 1 views
5

у меня есть в моей конфигурации сельдереясельдерея пытается подключиться к неправильному брокеру

BROKER_URL = 'redis://127.0.0.1:6379' 
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6379' 

Но всякий раз, когда я бег celeryd, я получаю эту ошибку

consumer: Cannot connect to amqp://[email protected]:5672//: [Errno 111] Connection refused. Trying again in 2.00 seconds... 

Почему не подключая к Redis брокер, который я установил, с которым работает btw?

+1

Похож на сельдерей c annot найти вашу конфигурацию и использовать по умолчанию. Где вы разместили файл 'celeryconfig.py'? Это должно быть на вашем пути python ([docs] (http://docs.celeryproject.org/en/latest/configuration.html#configuration-and-defaults)). – alecxe

ответ

4

импортировать сельдерей и добавить брокера так:

celery = Celery('task', broker='redis://127.0.0.1:6379') 
celery.config_from_object(celeryconfig) 
+0

Куда это пойдет? У меня есть файл celery.py, который содержит похожий код как ваш ответ, который находится в той же папке, что и мои settings.py. Тем не менее, я получаю ту же ошибку, что и OP. Такая же проблема при установке в settings.py –

+0

У меня такая же проблема. См. Мой пост в http://stackoverflow.com/questions/29402447/how-to-set-celeryconfig-file-in-in-django?noredirect1_comment47060151_29402447 – user61629

+0

Насколько я знаю, 'config_from_object' будет перезаписывать' broker' в качестве аргумента для конструктора, если '' BROKER_URL' существует внутри файла celeryconfig ... – chefarov

0

Если вы следовали First Steps with Celery учебник, а именно:

app.config_from_object('django.conf:settings', namespace='CELERY') 

то, что вам нужно префикс настройки с CELERY, поэтому изменить BROKER_URL до:

CELERY_BROKER_URL = 'redis://127.0.0.1:6379'