class Integer
Public Instance Methods
times_retry(message: true, wait: 0) { |n| ... }
click to toggle source
例外ならばブロックを n 回リトライする
# File lib/kaki/utils/retry.rb, line 3 def times_retry(message: true, wait: 0) n = 1 begin yield(n) rescue => e if n <= self puts "Error: retry #{n}" if message puts e.backtrace if message n += 1 sleep(wait) retry end puts "Error: stop" if message raise e end end