【发布时间】:2025-11-26 21:25:04
【问题描述】:
我想在兔子服务器上的兔子消息队列中发送带有消息的值。有没有可能这样做。 提前致谢。
【问题讨论】:
标签: queue rabbitmq message-queue
我想在兔子服务器上的兔子消息队列中发送带有消息的值。有没有可能这样做。 提前致谢。
【问题讨论】:
标签: queue rabbitmq message-queue
终于找到了。
在队列中,我们可以使用这样的标题属性发布,
在 send.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"}
)
在receive.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”。
【讨论】: