Параллельные HTTP-запросы в ruby ​​

У меня есть массив URL-адресов, и я не хочу открывать каждый из них и получать определенный тег.
Но я хочу делать это параллельно.

Вот псевдокод того, что я хочу сделать:

urls = [...]
tags = []
urls.each do |url|
  fetch_tag_asynchronously(url) do |tag|
    tags << tag
  end
end
wait_for_all_requests_to_finish()

Если бы это можно было сделать красивым и безопасным способом, это было бы здорово.
Я мог бы использовать поток, но не похоже, что массивы в Ruby являются потокобезопасными.

10
задан Nicklas A. 8 January 2012 в 15:29
поделиться