3
我在Rails中使用RabbitMQ和ruby-amqp。當由控制器接收到的消息我執行以下操作:如何在使用Ruby-Amqp時保持AMQP連接打開?
def create
AMQP.start("amqp://localhost:5672") do |connection|
channel = AMQP::Channel.new(connection)
exchange = channel.direct("")
exchange.publish("some msg", :routing_key => "some key")
EventMachine.add_timer(2) do
exchange.delete
connection.close { EventMachine.stop }
end
end
end
- 有沒有辦法讓AMQP連接打開,這樣我就不必在每次請求到來時調用
start
?
我認爲打開與Rabbit MQ的連接效率不高,但是我還沒有找到將代碼塊傳遞給持久連接的方法。
你絕對是在這裏打開一個連接,每次你想發送的東西是非常低效的。紅寶石還不夠熟悉,不過建議如何去做 – robthewolf