2016-06-14 6 views
2

다음 코드는 항상 #<Errno::ECONNRESET: Connection reset by peer - SSL_connect> 오류 메시지로 끝납니다.피어에 의한 Ruby 연결 재설정 - SSL_connect (Errno :: ECONNRESET)

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

ECONNRESET은 연결의 다른 쪽 (이 경우 Zendesk)이 연결을 갑자기 종료했음을 나타내는 소켓 오류입니다. 아마도 네트워크 오류 일 수 있습니다. 끝나거나 Zendesk 사이의 어딘가에 있습니다.

루비에 Zendesk 보석을 사용하는 동안 나는이 수백만 전화 한 건마다 똑같은 오류를 보았습니다.

나를 위해 효과가 있었던 것은 이러한 오류를 해결하고, 실패한 API 호출의 매개 변수를 배열 (또는 파일 또는 Redis)에 저장 한 다음 나중에 다시 시도하는 것이 었습니다.

관련 문제