首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

ruby中的Timer如何用的?比如小弟我想定时开始运行某段程序.

2012-02-02 
ruby中的Timer怎么用的?比如我想定时开始运行某段程序...我想要设置一个定时器,在N秒后开始运行程序...rub

ruby中的Timer怎么用的?比如我想定时开始运行某段程序...
我想要设置一个定时器,在N秒后开始运行程序...
ruby里面有一个Timer类.
                        t_proc   =   proc   do   |sender|
                                        p   "put   out "
                        end
                        t   =   Timer.new
                        t.on_timer   =   t_proc
                        t.interval   =   1000    
我仿照里面的小例子写的代码   ,
可是他一直输出     put   out
不停下来.....
ruby里还有什么方法吗?     实现定时开始运行   和   取消(取消等待运行程序定时器)

[解决办法]
def background_run_at(time)
fork do
sleep(1) until Time.now > = time
yield
end
end
上面的代码实现在时间为time时执行block中的代码,比如:
noon = Time.local(today.year, today.month, today.day, 12, 0, 0)
background_run_at(noon) { puts "中午执行此方法 " }

热点排行