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

A4J*_*A4J 8 cron ruby-on-rails scheduled-tasks ruby-on-rails-3

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

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

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

Kev*_*ell 11

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

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

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

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