Celery用にAmazonSQSをセットアップしようとしましたが、以下の構成になっています。
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がこれを行い、アクセスしたいキューにアクセスしているボックスごとにキューを作成します。将来のリリースでこれを修正する予定です。誰かがこれを一時的に修正する方法を知っているなら、私に知らせてください、ありがとう!