如果ruby函数执行耗时过长,如何终止执行



我有一些ruby代码,如下所示:

result1 = function_1(params)
result2 = function_2(params)
result3 = function_3(params)

但有时它们中的一些可能需要太多时间才能工作(这些功能取决于互联网连接速度)。如果函数的执行时间超过5秒,我需要终止它。我应该如何用ruby的方式来做?

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

您可以使用Timeout。

require 'timeout'
status = Timeout::timeout(5) {
  # Something that should be interrupted if it takes too much time...
}

相关内容

  • 没有找到相关文章

最新更新