単一のRabbitMQインストールからのメッセージを消費する2つの異なるセロリプロジェクトを使用するにはどうすればよいですか。
一般に、これらのスクリプトに異なるrabbitmqを使用すると、これらのスクリプトは正常に機能します。しかし、本番マシンでは、同じRabbitMQバックエンドを共有する必要があります。
注:いくつかの制約により、既存の新しいプロジェクトをマージできないため、2つの異なるプロジェクトになります。
RabbitMQ には、仮想ホストまたは仮想ホストと呼ばれる仮想メッセージ ブローカーを作成する機能があります。それぞれが本質的に、独自のキューを持つミニ RabbitMQ サーバーです。これにより、1 つの RabbitMQ サーバーを複数のアプリケーションに安全に使用できます。
rabbitmqctl add_vhost
コマンドは vhost を作成します。
デフォルトでは、Celery は/デフォルト vhostを使用します。
セロリ ワーカー --broker=amqp://guest@localhost//
ただし、任意のカスタム vhost を使用できます。
セロリ ワーカー --broker=amqp://guest@localhost/myvhost
例:
rabbitmqctl add_vhost new_host
rabbitmqctl add_vhost /another_host
セロリ ワーカー --broker=amqp://guest@localhost/new_host
セロリ ワーカー --broker=amqp://guest@localhost//another_host