- 安装
gem 'whenever', require: false
- 初始化,生成config/schedule.rb文件
$ cd /app
$ bundle exec wheneverize .
This will create an initial config/schedule.rb file
- 设置任务
# config/schedule.rb
set :output, 'log/cron.log'
set :environment, :development #默认是production环境,需要dev环境执行的时候添加
every 1.minute do
rake 'test_rake'
end
every 1.day, :at => '1:00 am' do
rake 'test_rake:test'
end
every 1.day, at: ['4:30 am', '6:00 pm'] do
runner "Mymodel.task_to_run_in_two_times_every_day"
end
every :sunday, at: '12pm' do # Use any day of the week or :weekend, :weekday
runner "Task.do_something_great"
end
# lib/xxx.rake
task :test_rake => :environment do
User.puts_time
end
# models/user.rb
class User < ApplicationRe