Как обрабатывать элементы в Параллельный массив с использованием Ruby (и open-uri)

Мне интересно, как я могу открыть несколько одновременных подключений с помощью open-uri? Я ДУМАЮ, что мне нужно как-то использовать нити или волокна, но я не уверен.

Пример кода:

def get_doc(url)
  begin
    Nokogiri::HTML(open(url).read)
  rescue Exception => ex
    puts "Failed at #{Time.now}"
    puts "Error: #{ex}"
  end
end

array_of_urls_to_process = [......]

# How can I iterate over items in the array in parallel (instead of one at a time?)
array_of_urls_to_process.each do |url|
  x = get_doc(url)
  do_something(x)
end
10
задан Mario Zigliotto 26 September 2011 в 21:36
поделиться