スクリプトに次のコードがあります...
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
実際に「再試行」することです。スクリプトが 1 つのループで既に 1000 通の電子メールを生成し、別のループで 999 通の電子メールを送信し、1000 番目の電子メールの送信でタイムアウトした場合、エラーが発生した特定のコード行を再試行しますか、ループを開始しますか? 1000 通目の電子メールで終了すると、ループ全体が開始されますか、それとも両方のループを実行するスクリプトの最初から開始されますか?
Ruby 1.9.3 を使用しています。