0

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
4

0 に答える 0