5
을 다시 시도 내 스크립트에 다음 코드를 ...이루비 구조 및 특정 코드 블록
begin
#Loop to create 1000 emails...
#Loop to send 1000 emails...
rescue Timeout::Error => e
retry_attempts += 1
if retry_attempts < 10
retry
else
puts "Timeout error, deleting emails...".red
logs.puts("Rescued a timeout error...#{e}")
email_ids_all.each do |email_delete|
#delete all email...
end
내 질문은 retry
실제로 "다시 시도"것입니다 것입니다. 스크립트가 이미 하나의 루프에서 1000 개의 전자 메일을 생성하고 다른 루프에서 999 개를 보낸 다음 1000 번째 전자 메일을 보낼 때 시간 초과됩니다 .- 오류가 발생한 특정 코드 줄을 다시 시도 할 것인가? 1000 번째 이메일을 통해 전체 루프를 시작할지 또는 두 루프를 실행하는 스크립트의 시작 부분에서 시작할지 여부를 결정합니다.
저는 1.9.3 루비를 사용하고 있습니다. 귀하의 경우 전자 메일 루프가 다시 실행 모든에 있도록
잘 알고 :
여기 (이 루프를 무한하므로, CTRL-C로 종료) 지속적으로 1 ~ 7 정수 인쇄됩니다 빠른 예입니다. 도와 주셔서 감사합니다. – Luigi
다음은 루프에서 '재시도'사용에 관한 정말 좋은 게시물입니다. http://blog.mirthlab.com/2012/05/25/cleanly-retrying-blocks-of-code-after-an-exception-in-ruby / – dennismonsewicz