1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#!/usr/bin/env ruby
require "async"
require "async/clock"
require "protocol/http/middleware"
require_relative "../../lib/async/http"
URL = "https://www.codeotaku.com/index"
ENDPOINT = Async::HTTP::Endpoint.parse(URL)
Console.logger.enable(Async::IO::Stream, Console::Logger::DEBUG)
if count = ENV['COUNT']&.to_i
terms = terms.first(count)
end
Async do |task|
client = Async::HTTP::Client.new(ENDPOINT)
client.get(ENDPOINT.path).finish
duration = Async::Clock.measure do
20.times.map do |i|
task.async do
response = client.get(ENDPOINT.path)
response.read
$stderr.write "(#{i})"
end
end.map(&:wait)
end
pp duration
ensure
client.close
end
|