2012-05-16 22 views
5

この問題のトラブルシューティングを開始する場所を探しています。ここ Amazon-SQS + Django-Celeryは何千ものキュー(メッセージごとにキュー)を作成します

は、私が言ってアマゾンからのメッセージに今朝目が覚めた

#Rabbit MQ settings 
#=============================================================================== 
# BROKER_HOST = "localhost" 
# BROKER_PORT = 5672 
# BROKER_USER = "vei_0" 
# BROKER_PASSWORD = "1234" 
# BROKER_VHOST = "videoencoder" 
#=============================================================================== 




DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' 
AWS_ACCESS_KEY_ID = "xxxx" 
AWS_SECRET_ACCESS_KEY = "xxxx" 
AWS_STORAGE_BUCKET_NAME = "images" 
#Amazon SQS settings. 
BROKER_TRANSPORT = 'sqs' 
BROKER_TRANSPORT_OPTIONS = { 
    'region': 'us-east-1', 
} 
BROKER_USER = AWS_ACCESS_KEY_ID 
BROKER_PASSWORD = AWS_SECRET_ACCESS_KEY 
CELERY_DEFAULT_QUEUE = 'hardwaretaskqueue' 
CELERY_QUEUES = { 
    CELERY_DEFAULT_QUEUE: { 
     'exchange': CELERY_DEFAULT_QUEUE, 
     'binding_key': CELERY_DEFAULT_QUEUE, 
    } 
} 


CELERYD_CONCURRENCY = 2 
CELERY_TASK_RESULT_EXPIRES = 120 
CELERY_RESULT_BACKEND = "amqp" 

settings.pyで行われた変更されている「あなたはbijillionキューを作ることを意味していましたか?」

+0

すでにAmazonからの面白いメッセージのために+1: –

+0

私の秘密鍵にはスラッシュが入っています。これが問題だろうか? – michael

答えて

9

CELERY_RESULT_BACKEND = 'amqp'を使用すると、結果メッセージごとに新しいキューが作成されます。これを避けるには、データベースやRedisなどの別のCELERY_RESULT_BACKENDを使用するだけです。または、結果に興味がない場合はCELERY_IGNORE_RESULT = Trueと設定できます。

+0

結果メッセージを読み込むとキューが削除されますか? – michael

+0

キューはAMQP仕様に従って自動削除として作成されますが、SQSがそのフラグをどのように処理するかの詳細はわかりませんでした。 –

関連する問題