私はrabbitmqとセロリをバックエンドタスクに使用していますが、dev/testと同じrabbitmqを使用したいと思いますが、誰かが誤って製造待ち行列のためにセロリの労働者を出し、dev/testのためにそれらを使用します。可能であれば、同じrabbitmqバックエンドにもアクセスできるセロリのワーカーが、セロリのキューにアクセスするのを防ぐ方法を教えてください。デベロッパーとプロダクションに同じrabbitmqを使用するとセロリのキューを保護する方法
0
A
答えて
0
開発とテストのためにBROKER_TRANSPORT_OPTIONSに異なるqueue_name_prefixを保持してください。
BROKER_TRANSPORT_OPTIONS = {
'queue_name_prefix':'development/test',
'wait_time_seconds': 10,
'polling_interval': 30,
'visibility_timeout': 3600 * 5
}
0
これを解決するために、プロダクションrabbitmqユーザーが排他的アクセス権を持つrabbitmq仮想ホストを設定しました。プロダクションユーザのパスワードは、プロダクションのdjango秘密鍵と同様に保存されます。
RABBIT_USER = os.environ.get('TANTALUS_RABBIT_USER', 'guest')
RABBIT_PASSWORD = os.environ.get('TANTALUS_RABBIT_PASSWORD', 'guest')
RABBIT_VHOST = os.environ.get('TANTALUS_RABBIT_VHOST', '')
CELERY_BROKER_URL = 'amqp://{}:{}@1.2.3.4:5672/{}'.format(RABBIT_USER,
RABBIT_PASSWORD, RABBIT_VHOST)
新しいウサギのユーザーがで追加することができます。システムの
sudo rabbitmqctl add_user produser prodpassword
sudo rabbitmqctl set_user_tags produser administrator
sudo rabbitmqctl add_vhost prodvhost
sudo rabbitmqctl set_permissions -p prodvhost produser ".*" ".*" ".*"
関連する問題
- 1. rabbitmq複数のバインディングキーを持つ同じキューをバインドする
- 2. ウェブワンクリックパブリッシュ - プロダクション保護
- 3. Asyncioとrabbitmq(asynqp):複数のキューから同時に消費する方法
- 4. セロリとRabbitMQを使ったトピック交換
- 5. RxJavaのGrails 3でObservableとしてRabbitMQキューを使用する
- 6. データベースサーバと同じ方法でCheckConstraintを使用する方法
- 7. セロリ、rabbitmq:リモートワーカーをインストールするには?
- 8. rabbitmqキューを使用してdjangoビューからセロリ遅延タスクを設定するには
- 9. SilverlightとCLRに同じライブラリを使用する方法
- 10. キューを使用するときに偽造する方法
- 11. JMSでは、要求と応答キューと同じキューを使用するとよいでしょうか?
- 12. FogとCarrierWaveをプロダクションでのみ使用する方法
- 13. 同じ労働者を使ってセロリを再試行する方法は?
- 14. 同じページに同じjQueryスクリプトを使用する方法
- 15. Cordovaを使用してSPAとモバイルアプリケーションのREST APIを保護する方法
- 16. Elasticsearchの同じクエリで `gt`と` fields`を使用する方法
- 17. ActiveMQとRabbitMQを同時に使用する
- 18. セールアプリケーションでCSRF保護とJWTを同時に使用する方法はありますか?
- 19. RabbitMQを使用して単一のキューで複数のコンシューマとの並行性を管理する方法は?
- 20. RabbitMQ専用の+耐久性キューを使用する
- 21. RabbitMQキューの設計とスケーリング
- 22. 同じデバイスに同じアプリケーションをインストールするための同じアプリケーションのプロダクションとベータ版を開発する方法
- 23. パスワード保護されたブックにApplication.Runを使用する方法?
- 24. PerspectiveCameraを使用するとスプライトサイズを常に同じに設定する方法
- 25. モデルとテンプレートベースコントローラで同じバリデータを使用する方法
- 26. 同じクエリSQLでdistinctとMAX(id)を使用する方法?
- 27. メインメニューとコンテキストメニューで同じクリップボード機能を使用する方法
- 28. 同じアプリケーションでMapPointコントロールとMappointアプリケーションを使用する方法
- 29. ASP.NET MVCとXAMARINで同じViewModelを使用する方法
- 30. 同じクエリでSQL_CALC_FOUND_ROWSとFOUND_ROWS()を使用する方法
はい誰かが誤って – andrew
をテストするときqueue_name_prefixは、ホスト名(のgethostname())として渡すことができ、生産接頭辞を追加したり、環境によって異なる他の変数。作業者はqueue_name_prefixのみからタスクを識別し、queue_name_prefixはあなたが求めた目的のために使用されます。私は他の回避策を知らない。 – daemon24