2012-01-28 11 views
1

私はRubyスクリプトを書いて、このような振る舞いをしたいんだ:タイマーを行う簡単な方法は何ですか?

every 15 seconds do 
    callback 
end 

は、私はこれをどのように行うのでしょうか?

クイック検索では多くのライブラリが表示されませんでした。スレッドを使うべきですか? Rubyスクリプトは基本的なものになるので、これはかなり基本的なものです。

答えて

2

あなたはいつもsleepを呼び出すことができます。

loop do 
    sleep 15 
    callback 
end 
+0

私はそれをする必要はないことを望んでいたが、私はそれが行く方法だと思う。ですから、解決策は、コールバックを実行し、そのタスクが必要なときにスレッドを開始する別のスレッドを作成することです。クール、ありがとう! –

+0

具体的なケースは何ですか?これが並行して何もする必要のない同期スクリプトの場合は、sleepを呼び出すのがうまくいくはずです。そうでなければ、あなたが試みることができる他のアプローチがあります。 EventMachineは1つです(Ryanが別の答えで言及したように)。あなたのスクリプトを単純な 'loop'の中で実行し、' Time.now'を手動でチェックするようにリファクタリングすることもできます。 –

関連する問題