Bunny を使用して RabbitMq 接続を設定するための初期化スクリプトがあります。
require 'yaml'
config = YAML.load_file('config/rabbitmq.yml')
puts config[Rails.env]
# $bunny = Bunny.new(config[Rails.env])
$bunny = Bunny.new(:host => config[Rails.env]["host"],
:vhost => config[Rails.env]["vhost"],
:user => config[Rails.env]["user"],
:password => config[Rails.env]["password"],
)
$bunny.start
$bunny_channel = $bunny.create_channel
の内容は次のconfig[Rails.env]
とおりです。
{"<<"=>nil, "host"=>"spotted-monkey.rmq.cloudamqp.com", "user"=>"myuser", "password"=>"mypassord", "vhost"=>"myvhost"}
コマンドの詳細な構文はBunny.new
正しく機能します。ただし、冗長ブロックをコメントアウトして、次の構文を残すと:
$bunny = Bunny.new(config[Rails.env])
次のエラー メッセージが表示されます。
session.rb:296:in `rescue in start': Could not establish TCP connection to any of the configured hosts (Bunny::TCPConnectionFailedForAllHosts)
どちらの場合もキーは同じなので、うまくいくと思っていました。各パラメーターを明示的に指定せずにコンストラクターを呼び出す方法はありますか?
"<<"=>nil
yaml ファイルから行を削除しようとしましたが、動作は変わりませんでした。