Pet*_*ter 4 ruby multithreading
我想在Ruby中运行一个任务(比如说)10秒,如果花了更长的时间就杀掉那个任务.这是为了防止挂起外部进程.实现这个的最佳方法是什么?特别是,我将如何编写for_up_to_10_seconds下面的函数?
loop do
for_up_to_10_seconds do
# something
end
end
Run Code Online (Sandbox Code Playgroud)
您正在寻找标准库中的Timeout类:http://www.ruby-doc.org/core/classes/Timeout.html
loop do
Timeout.timeout(10) do
# something
end
end
Run Code Online (Sandbox Code Playgroud)