rails api客户端中的超时处理

时间:2017-08-15 22:09:58

标签: ruby-on-rails ruby timeout net-http

我正在尝试构建Rails API客户端。有一个api,我可以用json接收我的数据,到目前为止效果很好。

现在我正在尝试进行超时处理,但我不知道如何处理。我的意思是字面意思。我怎么能使用超时处理?

我在教程中看到了一些内容,我翻译了我的二手宝石" net / http"但我无法想象这甚至会产生任何影响。

这是我的控制器代码:

require 'net/http'

class OverviewController < ApplicationController
  def api_key
    ENV["API_KEY"]
  end

  def handle_timeouts
    begin
      yield
    rescue Net::OpenTimeout, Net::ReadTimeout
      {}
    end
  end


  def index
    handle_timeouts do
      url = "https://example.com/api/#{ api_key }"
      uri = URI(url)
      response = Net::HTTP.get(uri) 
      @url_debug = url
      @my_hash = response
    end
  end
end

0 个答案:

没有答案