以下代码将始终以 #<Errno::ECONNRESET: Connection reset by peer - SSL_connect>
结尾错误信息。
它可能会在 5 秒后或 30 分钟后失败。
require 'net/https'
http = Net::HTTP.new('newproduct.zendesk.com', 443)
http.use_ssl = true
req = Net::HTTP::Head.new('/')
while true
res = http.start { http.request(req) }
end
在 Mac 和 Linux 上运行时会发生这种情况,导致我的批处理作业失败。
似乎很难调试,但有什么我应该注意的吗?
最佳答案
ECONNRESET 是一个套接字错误,表示连接的另一端(在本例中为 Zendesk)突然终止了连接。可能是他们端的网络错误,或者介于您和 Zendesk 之间的某个地方。
在使用 Zendesk gem for ruby 时,我每隔几百次调用就会遇到同样的错误。
对我有用的是挽救这些错误,将不成功的 API 调用的参数存储在数组(或文件或 Redis)中,稍后重试。
关于Ruby 连接由对等方重置 - SSL_connect (Errno::ECONNRESET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37812685/