2012-02-22 11 views
1

rabbitmqバックエンドでdjango-seleryを使用するDjangoアプリケーションがあります。私たちは、異なるユーザーがそれぞれ異なる口座で同じDjangoアプリケーションを実行しているテストマシンを持っていますが、すべてが同じsettings.pyファイルを使用しているため、同じrabbitmq資格情報を使って背中にセロリを接続します-終わり。 (dbバックエンドにはそれぞれ異なるsqliteデータベースを使用していることに注意してください)。Django-Celeryタスクが間違った実行インスタンスによって処理されています

django-celeryタスク間で「クロストーク」が発生している可能性があり、ユーザAのアカウントのdjangoアプリケーションからのタスク要求が、ユーザBのアカウントで動作するセロリタスクによって処理されている可能性があることがわかりました。

この問題を回避するために最も簡単な方法は何ですか?ユーザーごとに個別のrabbitmqアカウントや仮想ホストを作成する必要がありますか?あるいは、これを行うための他の方法がありますか?

答えて

2

最も簡単な方法は、環境ごとに別々の仮想ホストを用意することです。それでも同じRabbitMQユーザーを共有することはできます。

関連する問題