如何在Rails项目中运行日常任务/脚本?

我正在为我的应用程序开发计费系统,但我不确定如何设置每天运行的脚本,一个用于发送付款提醒(电子邮件),另一个用于降级尚未续订的订阅。

  • 关于如何做到这一点的任何提示?
  • 我需要注意的任何陷阱?
  • 我可以使用的任何gem?

我已经完成了大部分购买方面,所以我不是在寻找像paypal_recurring或条纹这样的gem – 只需要处理付款提醒和处理过期的帐户。

我已经通过多种方式完成了这项工作,并且有很多方法可以做到这一点。 我认为目前的最佳做法是使用Resque对作业进行排队,使用Rescue Scheduler来安排它们。

Resque是一个可靠的“作业调度”应用程序,可以为您处理各种任务。 Resque Scheduler可以提供完整的cron表达式(除了调度任务的其他方法之外)来管理作业。

这种方法的一个优点是,您可以获得Resque Web应用程序,该应用程序为您提供了一个Web应用程序,用于监视作业(或启动它们以进行一次性作业运行)。

我已经将这种方法与Heroku一起使用,它运行良好且可靠。

每当在https://github.com/javan/whenever上使用cron定义计划任务的好方法。 或者您可以直接使用cron: http : //www.ameravant.com/posts/recurring-tasks-in-ruby-on-rails-using-runner-and-cron-jobs