我試圖找出爲什麼這是行不通的:我該如何睡眠5分鐘和Ruby開始時間之間的差異?
loop do
started = Time.now
# do stuff
ended = Time.now - started
if 5.minutes > ended
sleep ended
end
end
我試圖找出爲什麼這是行不通的:我該如何睡眠5分鐘和Ruby開始時間之間的差異?
loop do
started = Time.now
# do stuff
ended = Time.now - started
if 5.minutes > ended
sleep ended
end
end
當前的代碼休眠的時間,原來的過程花了(的ended
值)的長度。這使整個循環時間成爲「做事」的一半,半睡半天。你或許應該只是改變睡眠線
sleep 5.minutes - ended
相反,如果我理解正確的問題,你希望一次運行過程中每隔5分鐘,取需要多長時間才能完成帳戶。
如果設置時間到達循環不是太高,您可能需要考慮使用cron
。
這是一個「我在想什麼」的時刻。所以睡眠不會在負數上崩潰? – AKWF
'sleep' *將*失敗的負數,所以你仍然需要'if' –
它究竟不工作? – phts