我尝试在一段时间(6 个月)后使用 gem 'whenever' 进行记录清理。
在我的每当调度程序中:
every 1.month, at: '1am' do
rake 'lib/tasks/cleanup_user.rake'
end
在 lib/tasks/cleanup_user.rake
@user = User.all.where(:created_at > 'Time.6.month.ago').delete
这似乎是对的。但是,我收到错误“未初始化的常量用户”。我在rails方面相对较新。请帮助我。
编辑:我通过运行 clean 一行命令更改了游戏:
set :output, "log/cron.log"
every 1.minutes, :environment => :development do
command 'User.where("confirmed = 0 AND created_at <= ?", 6.months.ago).delete'
end
我设置了特定的环境,并在命令中运行它:
whenever --set environment=development --update-crontab userscleaning
检查 crontab,它在那里但仍然无法正常工作。任何想法?