2012-01-05 49 views
30

我使用芹菜2.4.6和django-celery 2.4.2。CeleryCAM爲什麼不能與Amazon SQS一起使用?

當我配置芹菜在這個問題上使用Amazon SQS每分辨率:Celery with Amazon SQS

我沒有看到在celerycam表中的任何Django管理。如果我切換回RabbitMQ,任務會再次開始顯示。

我在SQS中有很多(現在有40多個)隊列,命名如下:「celeryev-92e068c4-9390-4c97-bc1d-13fd6e309e19」,看起來他們可能是相關的(一些較舊的隊列甚至有一個事件在他們的),但沒有什麼顯示在數據庫中,我看到celerycam日誌中沒有錯誤。

任何有關這個問題可能會有什麼建議或如何進一步調試這將是非常感謝。

+6

我還沒有發現任何結論,所以我跑了一些測試,看看後端實際上是否支持celerycam。讓celerycam工作的關鍵是-E(事件發送)給芹菜。在一個簡短的測試中,似乎事件發送與RabbitMQ一起工作(當然),與Redis一起工作,不適用於SQS,並且不適用於Celery的Django數據庫後端。 – 2012-01-16 19:34:44

+2

還有什麼好運氣?我正在嘗試構建一個基於芹菜/ SQS的系統,並針對相同的問題。 – edub 2012-01-24 21:24:12

回答

3

SQS是AMQP總線的有限實現。據我瞭解,它不支持像兔子-MQ那樣的PUB/SUB廣播,這是事件正常工作所必需的。 SNS已經到位以支持廣播,但它是一個單獨的系統。

一些圖書館/軟件包使用SimpleDB作爲消息模型存儲作爲SQS之上的黑客來模擬AMQP的行爲,但顯然芹菜還沒有完全破解。

相關問題