乐者为王

Do one thing, and do it well.

Rails中做计划任务

在平时的开发中,经常会遇到一些计划任务的需求。比较了几个不同的插件,觉得rufus-scheduler不错,用法也很简单,支持某个时间点做某事,某个时间段做某事等。

安装插件:

1
gem install rufus-scheduler --source http://gemcutter.org

调用也很简单,在initializers文件夹下新建任务文件task.rb:

1
2
3
4
5
6
7
8
require 'rubygems'
require 'rufus/scheduler'

scheduler = Rufus::Scheduler.start_new
scheduler.cron '0 22 * * 0-6' do
  # every day of the week at 22:00 (10pm)
  puts Time.now
end

Cron格式:

  • 第1列分钟0-59
  • 第2列小时0-23(0表示子夜)
  • 第3列日1-31
  • 第4列月1-12
  • 第5列星期0-6(0表示星期天)
  • 第6列要运行的命令

Comments