Próbowałem konfiguracji Amazon SQS dla Seler i mam poniżej konfigurację:SQS z konfiguracją naciowego
BROKER_BACKEND = "SQS"
BROKER_TRANSPORT_OPTIONS = {
'region': 'us-east-1',
}
AWS_ACCESS_KEY_ID = # access id
AWS_SECRET_ACCESS_KEY = # secret access key
os.environ.setdefault("AWS_ACCESS_KEY_ID", AWS_ACCESS_KEY_ID)
os.environ.setdefault("AWS_SECRET_ACCESS_KEY", AWS_SECRET_ACCESS_KEY)
BROKER_URL = 'sqs://'
CELERY_IMPORTS = ("tasks",)
CELERY_TASK_RESULT_EXPIRES = 300
CELERY_DEFAULT_QUEUE = #queue name
CELERY_DEFAULT_EXCHANGE = CELERY_DEFAULT_QUEUE
CELERY_DEFAULT_EXCHANGE_TYPE = CELERY_DEFAULT_QUEUE
CELERY_DEFAULT_ROUTING_KEY = CELERY_DEFAULT_QUEUE
CELERY_QUEUES = {
CELERY_DEFAULT_QUEUE: {
'exchange': CELERY_DEFAULT_QUEUE,
'binding_key': CELERY_DEFAULT_QUEUE,
}
}
W mojej konfiguracji SQS na rachunku AWS, mam kolejkę z nazwą napisane w CELERY_DEFAULT_QUEUE
. Kiedy uruchamiam to lokalnie, wszystko działa ... ale z jakiegoś powodu tworzy kolejną kolejkę na SQS o nazwie w formacie <user_id>-celery-pidbox
. Coś takiego: MyUser-MacBook-Pro-local-celery-pidbox
.
Czy to normalne? Dlaczego miałby on tworzyć kolejną kolejkę, gdy mam kolejkę utworzoną z określoną nazwą? W przeciwnym razie, działa, nie jesteś pewien, czy ta druga kolejka jest wymagana, czy coś przeoczyłem? Każda pomoc jest doceniana, nie mogłem znaleźć tego w dokumentach.
EDIT
Okazuje się, że jest to normalne. Z jakiegoś powodu robi to django-celery, tworzy kolejkę dla każdego pola, do którego masz dostęp do kolejki, do której chcesz uzyskać dostęp. Naprawią to w przyszłym wydaniu. Jeśli ktoś wie, jak to naprawić, daj mi znać, dziękuję!
czy masz jakieś informacje na temat rozwiązania tego problemu? – silviomoreto