红宝石法拉第保持活力

mil*_*dky 5 ruby keep-alive faraday

我有一个这样的方法:

def make_request(path, params, body)
  raise ArgumentError.new('Endpoint not set!') if url.nil?
  conditions          = {url: url}
  conditions[:params] = params unless params.blank?
  connection          = Faraday::Connection.new(conditions)
  connection.run_request(:get, path, body, {'Content-Type' => 'application/json'})
end
Run Code Online (Sandbox Code Playgroud)

那我该如何添加 keep-alive 呢?另外,由于我每次调用此方法时都会实例化一个连接对象(url 可能不同),所以 keep-alive 参数仍然有效吗?

Ron*_*nie 7

在这里这里找到了一些东西,但自己没有测试过。

Faraday.new(uri) do |f|
  f.adapter :net_http_persistent
end
Run Code Online (Sandbox Code Playgroud)

您可以保持连接创建新方法“连接”

def connection
  @connection ||= Faraday.new(@url_without_path) do |f|
                    f.adapter :net_http_persistent
                  end
end
Run Code Online (Sandbox Code Playgroud)