我一直在尝试使用 ruby 消费者非常简单地扇出这些队列,它只是订阅该交换/队列并接收消息。现在每当发布新消息时都会出现问题。他们没有收到消息,这意味着他们没有消费,也没有列出任何消费者。一旦您再次将队列与交换重新绑定并重新启动 ruby 应用程序,它就会再次开始使用。然后它又回到了lembo!有时,当您重新启动 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