Rails Timed Try Method

Поэтому я использую Resolver в Rails 3.1, чтобы попытаться получить DHCP-адрес сервера, и я хочу предоставить определенное время для его запроса... возможно, 0,5 с, потому что это замедляет весь мой запрос.

Это то, что у меня есть сейчас..

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

В настоящее время это занимает некоторое время, поэтому есть ли способ сказать: "Я хочу запустить этот фрагмент в течение 0,5 секунды", а затем двигаться дальше?

Спасибо!

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
Другие вопросы по тегам