以下代码将始终以#<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上运行并且导致我的批处理作业失败时会发生这种情况。
调试似乎很难,但有什么我应该注意的事情吗?
答案 0 :(得分:2)
ECONNRESET是套接字错误,指示连接的另一端(在本例中为Zendesk)突然终止连接。可能是他们结束时的网络错误,或者你和Zendesk之间的某个地方。
在使用Zendesk gem进行ruby时,我每隔几百次调用就会看到同样的错误。
对我来说有用的是拯救这些错误,将不成功的API调用的参数存储在数组(或文件或Redis)中,然后再重试。