如果ruby函数执行时间过长,如何终止它?
我有一些ruby代码如下:如果ruby函数执行时间过长,如何终止它?,ruby,timeout,execution,terminate,Ruby,Timeout,Execution,Terminate,我有一些ruby代码如下: result1 = function_1(params) result2 = function_2(params) result3 = function_3(params) 但有时它们中的一些可能会花费太多的时间(这些功能取决于互联网连接速度)。如果需要5秒以上的时间,我需要终止函数的执行。我该如何使用ruby way呢?您可以使用 鲁比太棒了。。。认真地 require 'timeout' status = Timeout::timeout(5) { # So
result1 = function_1(params)
result2 = function_2(params)
result3 = function_3(params)
但有时它们中的一些可能会花费太多的时间(这些功能取决于互联网连接速度)。如果需要5秒以上的时间,我需要终止函数的执行。我该如何使用ruby way呢?您可以使用
鲁比太棒了。。。认真地
require 'timeout'
status = Timeout::timeout(5) {
# Something that should be interrupted if it takes too much time...
}
require 'timeout'
timeout_in_seconds = 20
begin
Timeout::timeout(timeout_in_seconds) do
#Do something that takes long time
end
rescue Timeout::Error
# Too slow!!
end