我有一个用例,当调用 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/