关于postgresql:Ruby on Rails:如何在Heroku上运行自动rake任务

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或其他东西混淆。