1

我正在浏览http://typhoeus.github.com/articles/getting_started.html#making_parallel_requests ,我实际上无法理解 Hydra 的 typhoeus 如何实现并行 HTTP 请求。是否类似于 EventMachine::Iterator 和 EvenMachine::HTTPRequest 处理并发请求?我打算浏览它的源代码,但如果有人已经知道后端发生了什么,请赐教。这将有助于我更好地了解 Typhoeus。谢谢!

4

1 回答 1

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 本身。

于 2012-10-19T08:40:29.923 回答