2012-01-28 58 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

相關問題