2012-01-05 6 views
30

私はCelery 2.4.6とdjango-cell 2.4.2を使用しています。なぜCeleryCAMはAmazon SQSで動作しませんか?

私はこの質問の解像度ごとにアマゾンSQSを使用するようにセロリを設定:Celery with Amazon SQS

私は、Djangoのadminにcelerycamテーブルには何も表示されません。 RabbitMQに戻ると、タスクが再び表示され始めます。

SQSには「Celeryev-92e068c4-9390-4c97-bc1d-13fd6e309e19」という名前のキューがたくさんあります(古いものもありますがそれらのイベント)、データベースには何も表示されず、セリカリカムログにエラーは表示されません。

問題が何であるか、これをさらにデバッグする方法については、何か提案をいただければ幸いです。

+6

私はこれに関して決定的なものは見つけられませんでした。そこで、バックエンドがセロリカムを実際にサポートしているかを調べるためにいくつかのテストを実行しました。セロリカムの働きを得るための鍵は、Celerydへの-E(イベント送信)です。簡単なテストでは、RabbitMQ(もちろん)によるイベント送信はRedisで動作し、SQSでは動作せず、CeleryのDjangoデータベースバックエンドでは動作しません。 –

+2

これ以上の運があれば?私はセロリ/ SQSベースのシステムを構築しようとしていて、同じ問題を抱えています。 – edub

答えて

3

SQSはAMQPバスの限定された実装です。私が理解しているように、PUB/SUB放送は、イベントが正常に動作するために必要なrabbit-MQのようにはサポートしていません。放送をサポートするためにSNSが設置されましたが、別のシステムです。

いくつかのライブラリ/パッケージは、適切なAMQP動作をエミュレートするためにSQSの上にハッキングとしてメッセージングモデルストアとしてSimpleDBを使用していますが、明らかにセロリはまだ完全なハッキングを持っていません。

関連する問題