井。我正在尝试用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有人能帮我一下吗?提前谢谢。
发布于 2012-07-28 23:19:48
最后,我想出了如何解决这个问题。简单地说
scheduler.join在脚本的结尾。
这里有一个关于类似问题的帖子:) https://groups.google.com/forum/?fromgroups#!topic/rufus-ruby/37DLuN2W_0w
https://stackoverflow.com/questions/11701839
复制相似问题