1

良い。私はRubyで単純なスケジューラを書こうとしています。一度開始した単純なスクリプトだけがすべての元になります。分私がしたいことをします。

Ruby On Rails で既に rufus-scheduler を使用していますが、今回は単純なスクリプトだけになるため、すべてのフレームワークは必要ありません。

だから、私はこのようなものを書きました:

require 'rubygems'; require 'rufus/scheduler'

scheduler = Rufus::Scheduler.start_new

scheduler.every '5s' do
    puts "Helo"
end

そして、私がそれを開始しているとき(私はWin Vistaを使用しています)、実際には何もしません。

D:\>ruby scheduler.rb

D:\>

私はこれをirbでチェックアウトしました..動作します。

irb(main):002:0> require 'rubygems'; require 'rufus/scheduler'
=> true
irb(main):003:0> scheduler = Rufus::Scheduler.start_new
=> #<Rufus::Scheduler::PlainScheduler: [...]
irb(main):004:0> scheduler.every '5s' do
irb(main):005:1* puts "Hello"
irb(main):006:1> end
=> #<Rufus::Scheduler::EveryJob:0x2e6fcb0 @scheduler=#<Ruf [...]
irb(main):007:0> Hello
Hello
Hello

誰かがこれで私を助けることができますか? 前もって感謝します。

4

1 に答える 1

5

最後に、この問題を解決する方法を見つけました。簡単に言えば

scheduler.join

スクリプトの最後に。

ここに同様の問題に関するスレッドがあります:) https://groups.google.com/forum/?fromgroups#!topic/rufus-ruby/37DLuN2W_0w

于 2012-07-28T15:19:47.947 に答える