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

标签 ruby-on-rails ruby-on-rails-3 cron scheduled-tasks

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

  • 有关如何执行此操作的任何提示?
  • 我需要注意的任何陷阱吗?
  • 我可以使用任何 gem 吗?

  • 我已经完成了大部分的购买工作,因此,我不需要寻找如paypal_recurring或stripe之类的宝物-只需处理付款提醒和处理已过期的帐户即可。

    最佳答案

    我已经通过多种方式做到了这一点,并且有很多方式可以做到这一点。我认为当前的最佳实践是使用Resque对作业进行排队,并使用Rescue Scheduler对作业进行调度。

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

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

    我已经在Heroku中使用了这种方法,并且效果很好并且很可靠。

    关于ruby-on-rails - 如何在Rails项目中运行日常任务/脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10475296/

    相关文章:

    linux - 我以前从未设置过 cron 作业,但希望每天在我的服务器上运行一个 Python 脚本 15 分钟

    shell - Cron 不执行。脚本工作正常

    ruby-on-rails - 在 Rails 3 中设置 session 超时

    ruby-on-rails - 如何修复正则表达式中的无效多字节字符?

    ruby-on-rails - 在非 Rails Ruby 应用程序中包含 Rails 时间助手

    ruby-on-rails-3 - Rails 3 基于上下文的路由

    ruby-on-rails - 如何让回形针删除文件

    ruby-on-rails-3 - 语法错误 "syntax error, unexpected tFID, expecting keyword_then or ' ;' or '\n' “检查对象是否存在时

    ruby-on-rails - 如何在运行时扩展从 ActiveRecord 关联返回的对象?

    linux - CET fatal error : role "root" does not exist in postgresql-9. 3-main.log postgreSQL