我们有一个与box.com集成的Rails应用程序。我们的应用程序对盒子操作的请求相当频繁地发生,导致Passenger进程被约束大约15分钟,然后我们得到以下异常:
Errno::ETIMEDOUT: Connection timed out - SSL_connect
通常情况下它应该相当快,例如列出小文件夹的内容或删除单个文档。
我认为这些请求实际上从未真正进入过开放频道,无论是在tcp还是ssl级别,我们都没有得到初始响应,或者完全握手/会话设置从未完成。
我想让这种情况快速超时,比如15秒,但允许成功传输的大文件继续。
当这些级别中的任何一个级别的连接无法完成设置时,是否有任何方法可以让TCP或SSL更快地提高超时,但如果会话成功建立并且它刚刚接受,则不会引发异常很长一段时间才真正传输数据?
以下是我们当前代码的样子 - 我们不依赖于这样做(我没有编写此代码):
def box_delete(uri)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Delete.new(uri.request_uri)
http.request(request)
end