2012-01-28 33 views
1

我正在写一个Ruby脚本,并希望这样的行为:什么是一个简单的方法来做一个计时器?

every 15 seconds do 
    callback 
end 

我会怎么做呢?

快速搜索没有显示许多库;我应该使用线程吗?因为我的Ruby脚本将是基本的,所以我想要这个基础。

回答

2

你可以随时拨打sleep

loop do 
    sleep 15 
    callback 
end 
+0

希望我不会那样做,但我想这似乎是要走的路。所以解决方案是创建一个单独的线程来运行回调,并在我需要该任务时启动线程。很酷,谢谢! – 2012-01-28 06:48:13

+0

你的用例具体是什么?如果这是一个不需要并行执行任何操作的同步脚本,则调用sleep应该没问题。否则,还有其他方法可以尝试。 EventMachine是一个(正如Ryan在另一个回答中提到的);你也可以尝试重构你的脚本在一个简单的'loop'中运行并手动检查'Time.now'。 – 2012-01-29 09:28:04

相关问题