Ruby 在 Rails 上:我如何 运行 在 Heroku 上执行自动 rake 任务

Ruby on Rails: How do I run an automated rake task on Heroku

在 Heroku 上的 Rails 应用 运行ning 中,运行 从数据库中删除记录的自动 rake 任务的最佳方法是什么? 我想 运行 删除所有超过一个月的帖子,每月一次。

在 Heroku 上,您可以设置调度程序:

https://addons.heroku.com/scheduler

然后告诉它给运行一个rake任务。像这样:

lib/tasks/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 调度程序每三十天 运行 rake clear_old_posts。可以通过 GUI 配置调度程序,因此不会弄乱 crontab 或任何东西。