Asynchronous HTTP requests with ruby
I have a rabbitmq queue full of requests and I want to send the requests as an HTTP GET asynchronously, without the need to wait for each request response. now I'm confused of what is better to use, threads or just EM ? The way i'm using it at the moment is something like the following , but it would be great to know if there is any better implementation with better performance here since it is a very crucial part of the program :
AMQP.start(:host => "localhost") do |connection|
queue = MQ.queue("some_queue")
queue.subscribe do |body|
EventMachine::HttpRequest.new('http://localhost:9292/faye').post :body => {:message => body.to_json }
end
end
With the code above, is the system will wait for each request to finish before starting the next one ? and if there any tips here I would highly appreciate it.
Thanks in advance .
Comments are currently closed for this discussion. You can start a new one.
Support Staff 2 Posted by Evan Phoenix on 21 Feb, 2012 12:57 AM
This support system is for the rubygems infrastructure, not for help on individual gems. I'll have to inquire with the authors of the gems you're using.
Evan Phoenix closed this discussion on 21 Feb, 2012 12:57 AM.