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。
好知道。谢谢您的帮助。 – Luigi
这是一个非常好的帖子,在循环中使用'retry' http://blog.mirthlab.com/2012/05/25/cleanly-retrying-blocks-of-code-after-an-exception-in-ruby / – dennismonsewicz