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

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 "中午执行此方法 " }