Heroku には 2 つのプロセス タイプがあります。Ruby の Web dyno と Node.js のワーカーです。Ruby から Node.js にメッセージを渡すために、RabbitMQ アドオン (現在はベータ版) を使用しています。Node は正しく接続して消費し、Ruby はキューを最初に接続/作成する限り、正しく接続して発行します。
どうやら、既に存在するキューを作成しようとすると、Carrot はいくつかの面白いエラーをスローするようです。これが、メッセージを送信できない理由 (昨夜テストしたときに機能していた可能性があること) を発見した方法です。 Ruby の前に Node プロセスを開始しました。
私は Heroku を使用しているので、Ruby と Node の各スレッドを複数同時に動作させることになり、それぞれが最初にキューを開始して既存のキューに接続することを問題なくサポートする必要があります。
それは私の質問に私をもたらします:
Ruby を使用して既存の RabbitMQ キューに接続し、既に接続されてメッセージの受信を待機しているコンシューマーにメッセージを発行するにはどうすればよいですか?