Rails定时尝试方法

时间:2012-07-17 17:00:47

标签: ruby-on-rails ruby-on-rails-3.1 try-catch timed

所以我在Rails 3.1中使用Resolver来尝试获取服务器的DHCP地址,并且我想让它有一定的时间来查询...也许.5秒,因为它会减慢我的整个请求。

这就是我现在所拥有的......

$begin
$Resolver('ipaddress').answer[0]
$rescue
$end

目前这需要一段时间,所以有没有办法说“我想运行这个片段0.5秒”,然后继续前进?

谢谢!

1 个答案:

答案 0 :(得分:1)

http://ruby-doc.org/stdlib-1.9.3/libdoc/timeout/rdoc/Timeout.html

require 'timeout'

begin
  Timeout::timeout(0.5) do
    Resolver('ipaddress').answer[0]
  end
rescue Timeout::Error => e
  # do something
end