RabbitMQ : Use on Ruby2023/07/20 |
|
This is an example to use RabbitMQ on Ruby.
|
|
| [1] | Install required packages. |
|
root@dlp:~# apt -y install ruby-bunny
|
| [2] | This is an example of sending message on Ruby. For example, connect with RabbitMQ on [localhost] with a user [serverworld], virtualhost [my_vhost]. |
|
debian@dlp:~$
vi send_msg.rb
require "bunny"
connection = Bunny.new(
:hostname => "127.0.0.1",
:port => 5672,
:vhost => "/my_vhost",
:user => "serverworld",
:pass => "password",
)
connection.start
channel = connection.create_channel
q = channel.queue("Hello_World")
channel.default_exchange.publish("Hello RabbitMQ World!", :routing_key => q.name)
puts " [x] Sent 'Hello RabbitMQ World!'"
connection.close
ruby send_msg.rb [x] Sent 'Hello RabbitMQ World!' |
| [3] | This is an example of receiving message on Ruby. |
|
debian@node01:~$
vi receive_msg.rb
require "bunny"
Signal.trap(:INT){
puts "Exited from receiving queues."
exit(0)
}
connection = Bunny.new(
:hostname => "10.0.0.30",
:port => 5672,
:vhost => "/my_vhost",
:user => "serverworld",
:pass => "password",
)
connection.start
channel = connection.create_channel
q = channel.queue("Hello_World")
puts " [*] Waiting for messages in #{q.name}. To exit press CTRL+C"
q.subscribe(:block => true) do |delivery_info, properties, body|
puts " [x] Received #{body}"
delivery_info.consumer.cancel
end
ruby receive_msg.rb [*] Waiting for messages in Hello_World. To exit press CTRL+C [x] Received Hello RabbitMQ World! |
| Sponsored Link |
|
|