Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

書籍 Ruby Cookbook | Timeoutの制御

パンくず

Ruby Cookbook
Timeoutの制御

概要

Timeoutの制御

サンプル

require 'timeout'

def timeout_logic(limit_time, sleep_time)
  puts "limit_time=#{limit_time},sleep_time#{sleep_time}"
  Timeout::timeout(limit_time){
    sleep sleep_time
  }
  rescue Timeout::Error
    puts "timeout!sleep_time=#{sleep_time}"
end

timeout_logic(5,4) # =>timeoutしない
timeout_logic(5,6) # =>timeoutする

出力

limit_time=5,sleep_time4
limit_time=5,sleep_time6
timeout!sleep_time=6