诗歌rails之 定时任务 rufus-scheduler
在平时的开发过程中,经常会遇到一些定时任务的需求,比如定时报表的生成,一般是在夜间的某个时间段进行,或者是每10分钟清空一些临时表的任务,记得以前有人提出过一个 BackgrounDrb 问题,个人认为BackgrounDrb不是那么好用,Robbin提出的是利用linux shell做,由于unix操作系统自带有进程调度系统cron,所以定时执行rake就可以了,但如果做一些复杂的定时操作,那么势必会造成复杂的shell脚本,个人认为一、不利于维护,二、在切换开发环境的时候不是很方便,本着能用简单的技术解决的问题就不要用复杂的技术的原则,推荐一下rufus-scheduler http://rufus.rubyforge.org/rufus-scheduler/,貌似这个是日本人写的,看看它的使用说明,感觉作者很有匠人的气质,这个东西用起来真贴心,这也充分说明了拿ruby做系统维护也是一件体验很棒的事情
引用
gem install rufus-scheduler
在initializers文件夹下新建一个文件task.rb
引用
require 'rubygems'
require 'rufus/scheduler'
scheduler = Rufus::Scheduler.start_new
scheduler.every("2s") do
puts Time.now
end
over,基本上可以解决我们日常中的定时任务,rufus-scheduler当然也支持某个时间点做某事,某个时间段做某事等等,感兴趣的朋友可以玩玩这个
莫愁前路无知己,天下无人不识君。