Rails中的异步GET请求

时间:2013-02-15 23:41:24

标签: ruby-on-rails asynchronous

我正在开发一个Ruby on Rails应用程序,该应用程序依赖于我的应用程序为用户指标进行一些简单的URL调用。对于部分跟踪,我需要在呈现索引页面之前进行服务器端调用。这可以通过调用特殊格式的URL来实现。目前我正在通过以下方式实现这一目标:

url = URI.parse('https://example.tracking.url')
result = Net::HTTP.start(url.host, use_ssl: true, verify_mode: OpenSSL::SSL::VERIFY_NONE) do
  |http| http.get url.request_uri, 'User-Agent' => 'MyLib v1.2'       
end

我的页面加载似乎有时会有所延迟。如果不是数据库延迟问题,我认为只是有时URL需要额外的时间来响应,而这是一个同步请求。在Rails,Threads中制作异步请求的最佳方法是什么?感谢。

1 个答案:

答案 0 :(得分:0)

您是否考虑过使用延迟工作或Thread.new?

我会将它移动到辅助方法,然后在辅助方法上调用Thread.new。就个人而言,我喜欢使用delayed_job来处理可能会在用户界面上出现延迟的事情。