在Heroku上运行的Rails应用程序中,运行从数据库中删除记录的自动rake任务的最佳方法是什么? 我想办一份工作,删除所有超过一个月的帖子,每月一次。
答案 0 :(得分:3)
在Heroku上你可以设置调度程序:
https://addons.heroku.com/scheduler
然后告诉它运行rake任务。像这样:
LIB /任务/ your_task.rb
desc "describe your task"
task :clear_old_posts => [:environment] do
posts = Post.where(created_at: <= Time.now - 1.month)
posts.each do |post|
post.destroy
end
end
然后告诉Heroku调度程序每30天运行一次rake clear_old_posts。可以通过GUI配置调度程序,因此不要乱用crontab或任何东西。