我有一个兔子使用 consumer.rb 和 publisher.rb 工作的 RabbitMQ。如果我跑
ruby consumer.rb
接着
publisher.rb
我得到正在发布的数据(来自另一个类的数据)。当我运行 publisher.rb 时,数据在 ruby consumer.rb 上打印如下:
Test New Data
1142.5186392493372
我需要这两个脚本不断运行,以便发布者不断推送数据(@devise.value),我不断看到上述输出。我尝试使用 Daemon 创建一个新的服务器文件并运行 ruby server.rb start。但这确实会继续运行 publisher.rb,但不会一直运行,因此它会发布数据。另外,如何使这个 RabbitMQ ruby 应用程序将数据发布到另一个基于 Web 的 Rails 应用程序?
发布者.rb
需要“兔子”需要“守护进程”
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
服务器.rb
require 'daemons'
Daemons.run('publisher.rb')
谢谢