0
私はイベントマシンを使用して多くのhttpクエリを作成します。 HTTPサーバーはこれらの接続を実行できます。 しかし、100回のクエリで定期的に5-7エラーが発生します。 なぜそれができますか?イベントマシンへの多くの問い合わせ
require 'rubygems'
require 'eventmachine'
require 'em-http'
urls = []
100.times do
urls << 'http://127.0.0.1/'
end
if urls.size < 1
puts "Usage: #{$0} <url> <url> <...>"
exit
end
pending = urls.size
EM.run do
urls.each do |url|
http = EM::HttpRequest.new(url).get
http.callback do
puts "#{url}\n#{http.response_header.status} - #{http.response.length} bytes\n"
pending -= 1
EM.stop if pending < 1
end
http.errback do
puts "E::#{url}\n" + http.error.to_s
pending -= 1
EM.stop if pending < 1
end
end
end
}
どのような種類のエラー?これは、おそらく他のサーバーが50の並行接続のみを処理できる場合など、接続の拒否を開始する可能性がある場合など、接続の相手側と同じです。 –
FYIと同様に、[Typhoeusとその複数のHTTPリクエストを非同期で実行する場合は、[関連するHydra](https://github.com/dbalatero/typhoeus)を参照してください。 –