2012-12-13 38 views
12

Tôi đã cố gắng để thiết lập Amazon SQS cho cần tây và tôi có cấu hình dưới đây:SQS với cấu hình cần tây

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, 
    } 
} 

Trong cấu hình SQS của tôi trên tài khoản AWS, tôi có một hàng đợi với tên viết bằng CELERY_DEFAULT_QUEUE. Khi tôi chạy nó cục bộ, mọi thứ hoạt động ... nhưng vì một số lý do nó tạo ra một hàng đợi khác trên SQS với định dạng tên <user_id>-celery-pidbox. Một cái gì đó như thế này: MyUser-MacBook-Pro-local-celery-pidbox.

Điều này có bình thường không? Tại sao nó sẽ tạo một hàng đợi khác khi tôi có hàng đợi được tạo với tên được chỉ định? Nếu không, làm việc của nó, không chắc chắn nếu hàng đợi khác là cần thiết hoặc tôi bị mất một cái gì đó? Bất kỳ trợ giúp được đánh giá cao, tôi không thể tìm thấy điều này trong tài liệu.

EDIT

Hóa ra đây là điều bình thường. Đối với một số lý do django-cần tây làm điều này, nó tạo ra một hàng đợi cho mỗi hộp mà bạn đã truy cập vào hàng đợi bạn muốn truy cập. Họ sẽ sửa lỗi này trong bản phát hành trong tương lai. Nếu ai đó biết cách sửa lỗi tạm thời này, vui lòng cho tôi biết, cảm ơn!

+0

bạn có bất kỳ cập nhật nào về cách giải quyết vấn đề này không? – silviomoreto

Trả lời

5

Đây thực sự là một hành vi tốt để bạn có thể theo dõi trường hợp nào (IP hoặc tên địa phương) đang truy cập tài khoản SQS của bạn. Nó chỉ là một yêu cầu, do đó, nó sẽ không chi phí cho bạn bất cứ điều gì.

+3

Bạn có chắc chắn về một yêu cầu không? Có vẻ như nó đang bỏ phiếu liên tục (= lãng phí tiền bạc). – Andrey

1

Bạn cần phải thiết lập các:

CELERY_ENABLE_REMOTE_CONTROL = False 
CELERY_SEND_EVENTS = False 

Để vô hiệu hóa đó.

Các vấn đề liên quan