[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

async http request

Bob Aman

3/15/2005 6:32:00 PM

I'm currently working on a ruby on rails page that needs to query a
web service, retrieve a few rss feeds and do a whole bunch of SQL
queries. Right now, my code is doing all of this somewhat
inefficiently. Ideally, I'd like to be able to do the http requests
on the page asynchronously if possible. However, I have yet to find
any example code or documentation that shows how to do this. I saw
the http-access2 library, though that seemed quite complicated
compared to the open-uri method I'm using now. Any suggestions about
how best to go about this? In the end, I really just need to have it
work, and have it be fast.
--
Bob Aman


2 Answers

James Britt

3/15/2005 8:21:00 PM

0

Bob Aman wrote:
> I'm currently working on a ruby on rails page that needs to query a
> web service, retrieve a few rss feeds and do a whole bunch of SQL
> queries. Right now, my code is doing all of this somewhat
> inefficiently. Ideally, I'd like to be able to do the http requests
> on the page asynchronously if possible. However, I have yet to find
> any example code or documentation that shows how to do this. I saw
> the http-access2 library, though that seemed quite complicated
> compared to the open-uri method I'm using now. Any suggestions about
> how best to go about this?

This is on the server, correct?

Can you use Ruby threads for each of the various requests?


James Britt


http://www.ru...
http://www.r...
http://catapult.rub...
http://orbjson.rub...
http://www.jame...


Bob Aman

3/15/2005 8:48:00 PM

0

On Tue, 15 Mar 2005 11:45:59 -0700, Ben Schumacher
<benschumacher@gmail.com> wrote:
> Bob-
>
> How about this?
>
> def request_urls(urls = [])
> reqs = []
> urls.each do |url|
> reqs.push Thread.new { open(url) }
> end
>
> reqs.collect { |req| req.value }
> end
>
> responses = request_urls [ 'http://www.blahr..., 'http://www.news... ]

Just checked, and this does seem to work. Thanks!
--
Bob Aman