2012-10-19 83 views
1

我正在通過http://typhoeus.github.com/articles/getting_started.html#making_parallel_requests 我真的不明白如何使用Hydra typhoeus實現並行HTTP請求可能。它是否類似於EventMachine :: Iterator和EvenMachine :: HTTPRequest處理併發請求?我打算通過它的源代碼,但如果任何人已經知道在後端發生了什麼,請賜教。這將有助於我更好地理解Typhoeus。 謝謝!運行並行HTTP請求使用紅寶石Hydra typhoeus

回答

2

Typhoeus是一個libcurl包裝,本身並不執行並行請求。但它提供了一個libcurls multi的接口:http://curl.haxx.se/libcurl/c/libcurl-multi.html,它負責處理並行請求。這使得它與Eventmachine不同,因爲libcurl負擔很重,所以你不必擔心你的ruby代碼。更確切地說,Typhoeus(自0.5.0.alpha)使用Ethon:https://github.com/typhoeus/ethon而不是自己處理libcurl。如果您想了解Ethon如何與libcurls multi搭配使用,這是一個很好的起點:https://github.com/typhoeus/ethon/blob/master/lib/ethon/multi.rb

如果你想知道真正發生了什麼,你應該看看libcurl本身。