/usr/share/doc/ruby-amqp/examples/publishing/returned_messages.rb is in ruby-amqp 0.9.5-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #!/usr/bin/env ruby
# encoding: utf-8
require "bundler"
Bundler.setup
$:.unshift(File.expand_path("../../../lib", __FILE__))
require 'amqp'
puts "=> Handling returned messages"
puts
AMQP.start(:host => '127.0.0.1') do |connection|
channel = AMQP.channel
channel.on_error { |ch, channel_close| EventMachine.stop; raise "channel error: #{channel_close.reply_text}" }
exchange = channel.fanout("amq.fanout")
exchange.on_return do |basic_return, metadata, payload|
puts "#{payload} was returned! reply_code = #{basic_return.reply_code}, reply_text = #{basic_return.reply_text}"
end
EventMachine.add_timer(0.3) {
10.times do |i|
exchange.publish("Message ##{i}", :immediate => true)
end
}
EventMachine.add_timer(2) {
connection.close { EventMachine.stop }
}
end
|