我怎么写,我的代码在5秒内没有睡觉,但直到机器上的某个时间到达。
不是这样:
sleep(5)
但是像:
now = DateTime.Now
while now != "14:40:03"
sleep(0.5)
end
怎么做是正确的?
答案 0 :(得分:18)
require "time"
sleep(Time.parse("14:40:03") - Time.now)
答案 1 :(得分:1)
或使用Rufus Scheduler
https://github.com/jmettraux/rufus-scheduler
来自OpenWFEru / ruote项目。
require 'rubygems'
require 'rufus-scheduler'
scheduler = Rufus::Scheduler.new
scheduler.in '20m' do
#do something
end
这提供了真正的被动等待,无负载。