Ruby on Rails: How do I run an automated rake task on Heroku
在Heroku上运行的Rails应用程序中,运行从数据库中删除记录的自动rake任务的最佳方法是什么?
我想运行一项作业,每月一次删除所有早于一个月的所有帖子。
在Heroku上,您可以设置调度程序:
https://addons.heroku.com/scheduler
然后告诉它运行rake任务。像这样的东西:
lib / tasks / your_task.rb
1 2 3 4 5 6 7 | 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配置Scheduler,因此不会与crontab或其他东西混淆。