1

所以我在 Rails 3.1 中使用 Resolver 来尝试获取服务器的 DHCP 地址,我希望允许它有一定的时间来查询......也许是 0.5 秒,因为它减慢了我的整个请求。

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

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

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

谢谢!

4

1 回答 1

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
于 2012-07-17T19:14:26.657 回答