我試圖建立亞馬遜SQS芹菜,我有以下配置:SQS芹菜配置
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,
}
}
在對AWS賬戶我的SQS配置,我有寫在CELERY_DEFAULT_QUEUE
名稱的隊列。當我在本地運行時,一切正常......但由於某種原因,它在SQS上創建了另一個名稱格式爲<user_id>-celery-pidbox
的隊列。像這樣的:MyUser-MacBook-Pro-local-celery-pidbox
。
這是正常的嗎?爲什麼當我用指定名稱創建一個隊列時,它會創建另一個隊列?否則,它的工作,不知道是否需要其他隊列或我錯過了什麼?任何幫助表示讚賞,我無法在文檔中找到它。
編輯
原來,這是正常的。出於某種原因,django-celery會這樣做,它會爲您訪問您要訪問的隊列的每個框創建一個隊列。他們將在未來的版本中解決這個問題。如果有人知道如何解決這個暫時,請讓我知道,謝謝!
你有解決這個問題的更新嗎? – silviomoreto