ruby コンシューマーを使用してこれらのキューをファンアウトしようとしましたが、非常に単純で、その交換/キューにサブスクライブし、メッセージを受信するだけです。新しいメッセージが発行されるたびに問題になります。つまり、消費しておらず、消費者がリストされていないことを意味します。交換でキューを再度バインドし、Ruby アプリを再起動すると、再び消費が開始されます。それから再びレンボに戻ります!Rubyアプリを数回再起動すると、うまくいくことがあります。何か案が?
以下のコンシューマに使用されるコード:
#!/usr/bin/env ruby
# encoding: utf-8
require "rubygems"
require "amqp"
EventMachine.run do
connection = AMQP.connect(:host => '127.0.0.1', :port => 5672, :user => "user",:pass => "pass",:vhost => "/",:ssl => false,:frame_max => 131072 )
puts "Connected to AMQP broker. Running #{AMQP::VERSION} version of the gem..."
channel = AMQP::Channel.new(connection)
exchange = channel.fanout("p_cmds.p1")
channel.queue("p1_queue").bind(exchange).subscribe do |payload|
puts "#{payload} => p1"
end
end