我想在 Ruby 中运行一个任务最多(比如说)10 秒,如果它花费的时间更长,则终止该任务。这是为了防止挂起外部进程。实现这个的最好方法是什么?具体来说,我将如何编写下面的函数 for_up_to_10_seconds
?
loop do
for_up_to_10_seconds do
# something
end
end
最佳答案
标准库中的 Timeout 类就是您要找的:http://www.ruby-doc.org/core/classes/Timeout.html
loop do
Timeout.timeout(10) do
# something
end
end
关于ruby - Ruby 中的限时计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2271479/