Seler: ignorowanie BROKER_URL w pliku konfiguracyjnym
Moje pytanie jest duplikatemten, ale bardziej szczegółowe.
Problem polega na tym, że mamBROKER_URL
ustawione w moim pliku konfiguracyjnym Selera, ale nie jest to odzwierciedlone w Irano ładowanie konfiguracji: sprawdziłem i tojest ładowane - w rzeczywistości ustawiane są inne stałe zdefiniowane, po prostu nieBROKER_URL
.
To wydaje się być błędem, ale chciałem być pewien.
celeryconfig.py
:
BROKER_URL = "amqp://user:[email protected]:5672//vhost"
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_ENABLE_UTC = True
(JSON
jest używany jako serializator, a niePickle
, więc wiem, że to działa.)
app.py
:
from celery import Celery
app = Celery('tasks', broker='amqp://guest@localhost//')
app.config_from_object('celeryconfig')
Wywoływanie pracownika:
celery -A app.app worker -l info
Ale wtedy rozumiem:
[2013-11-12 11:20:51,610: INFO/MainProcess] consumer: Connected to amqp://[email protected]:5672//.
Próbowałem zerwaćBROKER_URL
, ale bez skutku:
BROKER_TRANSPORT = 'amqp'
BROKER_USER = 'user'
BROKER_PASSWORD = 'password'
BROKER_HOST = 'remote.server.com'
BROKER_PORT = 5672
BROKER_VHOST = '/vhost'
Co ciekawe, działa, gdy jawnie ustawięBROKER_URL
wapp.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"