我正在尋找一個替代的Ruby HTTP庫,它可以同時進行多個HTTP調用並執行比核心Net :: HTTP庫更好的庫。Ruby庫同時發出多個HTTP請求
4
A
回答
3
3
爲什麼你需要一個網絡圖書館處理的並行?這正是線程的目的。
require "open-uri"
fetcher = lambda do |uri|
puts "Started fetching #{uri}"
puts open(uri).read
puts "Stopped fetching #{uri}"
end
thread1 = Thread.new("http://localhost:9292", &fetcher)
thread2 = Thread.new("http://localhost:9293", &fetcher)
thread1.join
thread2.join
此外,我不明白「執行更好」是什麼意思。核心庫通常足以勝任核心工作。你對Net :: HTTP有任何問題嗎?
1
您可以使用Parallel gem,它應該可以在任何Ruby HTTP庫中使用。
0
不知道它是否表現更好Typhoeus,但你可以使用Eventmacheine + em-http-request。有一個發送多個請求的例子。
require 'eventmachine'
require 'em-http'
EventMachine.run {
multi = EventMachine::MultiRequest.new
reqs = [
'http://google.com/',
'http://google.ca:81/'
]
reqs.each_with_index do |url, idx|
http = EventMachine::HttpRequest.new(url, :connect_timeout => 1)
req = http.get
multi.add idx, req
end
multi.callback do
p multi.responses[:callback].size
p multi.responses[:errback].size
EventMachine.stop
end
}
相關問題
- 1. 多個同時發出的HTTP請求
- 2. NodeJS:如何每3秒同時發出多個HTTP請求?
- 3. 異步發出多個HTTP請求
- 4. 同一個js文件發出的多個http請求
- 5. 套接字在發出多個http發佈請求時掛起
- 6. 在Ruby中發出HTTP HEAD請求超時
- 7. 同步發送http請求
- 8. 發出HTTP請求UDP-like
- 9. 多個http請求在一個請求到不同的域
- 10. Silverlight只發出一個http請求
- 11. 用Netty發出一個http請求
- 12. Firefox發出兩個HTTP請求
- 13. 使用Wininet發送多個Http請求
- 14. 爲多個同時發出的SOAP請求配置Tomcat
- 15. Ruby輸出的原始HTTP請求
- 16. 使用HTTP/1.1管道發出多個請求
- 17. 多個HTTP請求測試
- 18. 多個HTTP請求2
- 19. jmeter和多個http請求
- 20. ruby net問題::發出SOAP請求的HTTP
- 21. Android設備在發出http請求時發生超時錯誤
- 22. 向.NET中的單個HTTP請求發送多個HTTP響應
- 23. Safari發送兩個HTTP請求。同一時間/插座
- 24. Angular 2 - 多個HTTP請求在同一時間
- 25. 幾個同時發出HTTP請求後Web應用程序被破壞
- 26. 當從客戶端調用HTTP請求時,是否可以將http請求/請求分成多個請求?
- 27. 發送HTTP請求
- 28. Http請求/併發?
- 29. JMeter:爲單個用戶觸發多個併發HTTP請求
- 30. 立即向Redis發出多個請求
百頭巨怪存在,飛馳處理這個問題,我看不出有任何理由,你會在這裏重新發明輪子。 – coreyward