我在试图找出为什么这行不通:
loop do
started = Time.now
# do stuff
ended = Time.now - started
if 5.minutes > ended
sleep ended
end
end发布于 2013-08-01 20:30:19
当前代码休眠的时间长度为原始进程(ended的值)。这使得整个循环时间一半是“做事情”,一半是睡眠。你应该把睡眠线改为
sleep 5.minutes - ended相反,如果我正确地理解了这个问题,并且你希望每5分钟运行一次这个过程,考虑到它需要多长时间才能完成。
如果到达循环的设置时间不太长,您可能需要考虑使用cron。
https://stackoverflow.com/questions/18003798
复制相似问题