Apio: ignorando BROKER_URL en el archivo de configuración

Mi pregunta es un duplicado deéste, pero mas detallado.

El problema es que tengo unBROKER_URL establecido en mi archivo de configuración de Celery, pero eso no se refleja en ya.m cargando la config: lo verifiqué, yes se está cargando, de hecho, otras constantes definidas allí se están configurando, pero noBROKER_URL.

Esto parece ser un error, pero quería estar seguro.

celeryconfig.py:

BROKER_URL = "amqp://user:[email protected]:5672//vhost"

CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_ENABLE_UTC = True

(JSON se está utilizando como el serializador, noPickle, así que sé que esto está funcionando.)

app.py:

from celery import Celery

app = Celery('tasks', broker='amqp://guest@localhost//')
app.config_from_object('celeryconfig')

Invocando al Trabajador:

celery -A app.app worker -l info

Pero luego me sale esto:

[2013-11-12 11:20:51,610: INFO/MainProcess] consumer: Connected to amqp://[email protected]:5672//.

Traté de romperBROKER_URL, pero fue en vano:

BROKER_TRANSPORT = 'amqp'
BROKER_USER = 'user'
BROKER_PASSWORD = 'password'
BROKER_HOST = 'remote.server.com'
BROKER_PORT = 5672
BROKER_VHOST = '/vhost'

Curiosamente, funciona cuando configuro explícitamente elBROKER_URL enapp.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"

Respuestas a la pregunta(3)

Su respuesta a la pregunta