Основні кроки для роботи з RabbitMQ в Ruby можуть виглядати приблизно так.
Бібліотека Bunny
Встановіть бібліотеку Bunny, використовуючи менеджер пакетів Ruby, такий як Bundler або RubyGems.
gem install bunny
Створення з’єднання з RabbitMQ. Підключіться до RabbitMQ, використовуючи Bunny, та створіть канал для обміну повідомленнями.
require 'bunny'
connection = Bunny.new
connection.start
channel = connection.create_channel
Створення черги та відправлення повідомлення. Створіть чергу та відправте повідомлення.
queue = channel.queue('my_queue')
channel.default_exchange.publish('Hello, RabbitMQ!', routing_key: queue.name)
Отримання повідомлення з черги. Отримайте повідомлення з черги.
delivery_info, properties, body = queue.pop
puts "Received: #{body}"
Закриття з’єднання. Після використання закрийте з’єднання з RabbitMQ.
connection.close
Фреймворк Sneakers
Sneakers — це фреймворк для обробки завдань у фоновому режимі в Ruby з використанням RabbitMQ. Він дозволяє легко створювати фонові завдання, які обробляються через черги RabbitMQ.
Приклад створення фонового завдання за допомогою Sneakers:
require 'sneakers'
class MyWorker
include Sneakers::Worker
from_queue 'my_queue'
def work(msg)
puts "Received: #{msg}"
# Обробка повідомлення
ack! # Підтвердження обробки
end
end
MyWorker.run
Ці інструменти допомагають спростити взаємодію з RabbitMQ у Ruby-додатках, забезпечуючи можливість відправлення та обробки повідомлень через черги, що особливо корисно при побудові асинхронних або розподілених систем.