У меня есть RabbitMQ с кроликом, работающим с помощью consumer.rb и publisher.rb. Если я запускаю
ruby consumer.rb
, а затем
publisher.rb
, я получаю публикуемые данные (данные, поступающие из другого класса). Данные печатаются вот так на ruby consumer.rb, когда я запускаю publisher.rb:
Test New Data
1142.5186392493372
Мне нужно, чтобы эти два сценария запускались постоянно, поэтому издатель продолжает проталкивать данные (@ devise.value), и я вижу, вышеуказанный вывод непрерывно. Я попытался создать новый файл сервера с помощью Daemon и запустить ruby server.rb start. Но это продолжает запускать publisher.rb, но не постоянно, поэтому он публикует данные. Кроме того, как я могу заставить это приложение RabbitMQ ruby опубликовать sh данные в другом веб-приложении rails?
publisher.rb
require 'bunny' require 'daemons'
класс BunnyPublisher
def connection
conn = Bunny.new
conn.start
end
def channel
connection.create_channel
end
def q
channel.queue("que")
end
def exchange
channel.default_exchange
end
def publish(data, q)
exchange.publish(data, routing_key: "que")
sleep(5)
connection.close
end
server.rb
require 'daemons'
Daemons.run('publisher.rb')
Спасибо