我想跑一个街区60秒。到目前为止,我所提出的并没有按照需要突破这个障碍。
@start_time = Time.now
stream_some_data do |x|
# .. do something ...
break if Time.now == @start_time + 60
end
答案 0 :(得分:8)
Ruby的stdlib已经有了一个Timeout模块:
begin
require "timeout"
Timeout::timeout(60) do
# all of the things...
end
rescue Timeout::Error => e
end
答案 1 :(得分:3)
由于你不可能在开始的60秒后完全到达那条线,试试:
break if Time.now > @start_time + 60