新手问题 求助 rufus-scheduler 的使用

zafu10 · 2012年07月12日 · 最后由 angjunwen 回复于 2013年12月13日 · 7489 次阅读

现在是在 windows 机器上开发,马上要发布到 heroku 上,现在需要在后台添加一个每天执行的任务,可是我在装了 rufus-scheduler 之后,把 task.rb 也加上了,后面就启动不起来出错了,求助啊? rails s
=> Booting WEBrick => Rails 3.2.1 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server Exiting d:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:in require': cannot load such file -- rufus/scheduler (LoadError) from d:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:i nblock in require' from d:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:236:i n load_dependency' from d:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-3.2.1/lib/active_support/dependencies.rb:251:i nrequire' from d:/work/ruby/ruby_work/nwmi1/config/initializers/task.rb:2:in `'

我自己来给自己回答一下吧,我的问题搞定了,是因为没有在 environment.rb require 我的 task 文件导致的,现在在 windows 下酒可以像 linux 下面的 cron 那样完成定时定期任务了

#1 楼 @zafu10 你好 require 'rubygems' require 'rufus/scheduler'

scheduler = Rufus::Scheduler.start_new scheduler.every '10s' do

puts 'check blood pressure'

end 为什么我运行以上程序之后没有任何反应?并没有每十秒钟输出 check blood pressure 啊。。 谢谢

heroku 免费的不支持任务

#2 楼 @xingbuxing 少了一句 scheduler.join

task.rb 放在 initializers 目录下不用添加“scheduler.join”吧?如果是放在 script 目录里才需要加上 scheduler.join。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号