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