我希望能够在 Ruby 中做这样的事情:
(new[]{"http://google.com", "http://facebook.com", "http://microsoft.com", "http://twitter.com", "http://stackoverflow.com"})
.AsParallel()
.Select(q => WebRequest.Create(q).GetResponse())
这也应该保留元素的顺序并使用延迟执行。有没有可用的选项?
Ruby遏制gem 是curl
库的包装器,具有“多”模式,可以并行获取多个 URL。
从例子:
# Make multiple GET requests
easy_options = { :follow_location => true }
multi_options = { :pipeline => true }
Curl::Multi.get('url1','url2','url3','url4','url5', easy_options, multi_options) do |easy|
# do something interesting with the easy response
puts easy.last_effective_url
end