在rails中同时进行http请求

时间:2016-01-08 22:38:06

标签: ruby-on-rails ruby httparty

我试图下载一些RSS源(50k),我估计目前的速度需要大约18个小时。有没有办法通过一次做两个来加速这个?三个一次?

response = HTTParty.get(uri_encoded_term)

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

您可以使用多个线程下载资源,请记住,您的互联网连接受限制。

概念:

# Our list of threads
threads = []

# Iterate over all our urls
urls.each do |url|
  threads << Thread.new do
    response = HTTParty.get(uri_encoded_term)
    # Do fancy stuff with your response, remember thread safety!
  end
end

# Wait for all threads
threads.each &:join

我希望你在后端完成所有这些工作,而不是在请求周期中。