2012-12-13 25 views
12

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ę!

+0

czy masz jakieś informacje na temat rozwiązania tego problemu? – silviomoreto

Odpowiedz

5

To naprawdę dobre zachowanie, dzięki czemu można monitorować, które instancje (adresy IP lub nazwy lokalne) uzyskują dostęp do konta SQS. To tylko jedna prośba, więc nic cię to nie będzie kosztować.

+3

Czy jesteś pewien jednej prośby? Wygląda na to, że trwa to w sposób ciągły (= marnowanie pieniędzy). – Andrey

1

trzeba je ustalić:

CELERY_ENABLE_REMOTE_CONTROL = False 
CELERY_SEND_EVENTS = False 

Aby wyłączyć to.

Powiązane problemy