[ruby on rails]whenever使用

  • 安装
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

Guess you like

Origin blog.csdn.net/qq_41037744/article/details/106212544