Aipo: ignorando BROKER_URL no arquivo de configuração
Minha pergunta é uma duplicata deeste, mas mais detalhado.
O problema é que eu tenho umBROKER_URL
definido no meu arquivo de configuração do aipo, mas isso não é refletido e eusou carregando a configuração: eu verifiquei eé sendo carregado - na verdade, outras constantes definidas lá estão sendo definidas, apenas nãoBROKER_URL
.
Isso parece ser um bug, mas eu queria ter certeza.
celeryconfig.py
:
BROKER_URL = "amqp://user:[email protected]:5672//vhost"
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_ENABLE_UTC = True
(JSON
está sendo usado como serializador, nãoPickle
, então eu sei que isso está funcionando.)
app.py
:
from celery import Celery
app = Celery('tasks', broker='amqp://guest@localhost//')
app.config_from_object('celeryconfig')
Invocando o trabalhador:
celery -A app.app worker -l info
Mas então eu entendo isso:
[2013-11-12 11:20:51,610: INFO/MainProcess] consumer: Connected to amqp://[email protected]:5672//.
Eu tentei terminarBROKER_URL
, mas sem sucesso:
BROKER_TRANSPORT = 'amqp'
BROKER_USER = 'user'
BROKER_PASSWORD = 'password'
BROKER_HOST = 'remote.server.com'
BROKER_PORT = 5672
BROKER_VHOST = '/vhost'
Curiosamente, funciona quando eu defino explicitamenteBROKER_URL
emapp.py
:
from celery import Celery
app = Celery('tasks', broker='amqp://guest@localhost//')
app.config_from_object('celeryconfig')
app.conf.BROKER_URL = "amqp://user:[email protected]:5672//vhost"