require 'net/http' feeds = File::open('persai_feedcorpus').readlines.sort_by {rand} threads = [] 100.times do threads << Thread.new() do while feeds.any? begin feed = URI.parse(feeds.pop.chomp.gsub('&','&')) http = Net::HTTP.new(feed.host, feed.port) http.read_timeout = 10 puts "#{http.request_get(feed.path).code} #{feed}" rescue Errno::ETIMEDOUT puts "408 #{feed}" rescue Timeout::Error puts "408 #{feed}" rescue puts "500 #{feed}" end $stdout.flush end end end threads.each {|thread| thread.join}