我想在兔子服务器上的兔子消息队列中发送带有消息的值。有没有可能这样做。提前致谢。
问问题
89 次
1 回答
2
最后我找到了。
在队列中,我们可以使用这样的标题属性进行发布,
在发送.rb
conn = Bunny.new
conn.start
ch= conn.create_channel
q = ch.queue("QueueName")
msg = "Message want to send"
q.publish(
msg,
:persistent => true,
:headers => { :user_id => "10", :user_name => "xxx"}
)
在接收.rb
conn = Bunny.new
conn.start
ch = conn.create_channel
q = ch.queue("QueueName")
ch.prefetch(1)
begin
q.subscribe(:ack => true, :block => true) do |delivery_info, properties, body|
puts "Message : #{body}"
puts "To UserId : #{properties[:headers]["user_id"].to_s}\n"
puts "To UserId : #{properties[:headers]["user_name"].to_s}\n"
ch.ack(delivery_info.delivery_tag)
end
rescue => e
puts "Error #{e.to_s}"
conn.close
end
我们可以在接收端获取 userId 10 和用户名“XXX”。
于 2013-08-09T09:50:01.153 回答