我有一个用例,当调用 Controller 的操作时,它会触发 3 个对其他 url 的 http 请求。我需要解析这些请求的响应,组合它们然后呈现 View 。如何并行而不是顺序触发 3 个请求以节省时间?

最佳答案

我使用 Typhoes 来处理并行调用。

跳转到 making parallel calls 部分以了解如何进行并行调用。

例子

 # Assume these were your two HTTP calls
 first_request = Typhoes::Request.new('http://jsonplaceholder.typicode.com/posts?userId=2')
 second_request = Typhoes::Request.new('http://jsonplaceholder.typicode.com/posts?userId=3')

 # Initialize a Hydra queue (this holds typhoes requests)
 hydra = Typhoeus::Hydra.hydra
 hydra.queue [first_request, second_request]
 hydra.run # this triggers the calls

 # Getting response, once the run is complete

 first_request.response
 second_request.response

关于ruby-on-rails - 来自 rails Controller Action 的并行请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13775224/

10-12 05:55