【问题标题】:Monitoring a periodic task in Rails在 Rails 中监控周期性任务
【发布时间】:2011-10-06 22:48:24
【问题描述】:

我正在使用 eFax 从我的 Rails 3.1 应用程序发送传真,我想知道监控每份传真状态的最佳方法是什么。 EFax 允许您发布带有 id 的请求以查找其状态,我希望每分钟执行一次,直到传真状态成功或失败。我正在考虑为每个传真创建 cron 作业,然后在成功或失败后取消 cron 作业。或者更好的解决方案可能是某种定期作业服务器?有没有人有类似的经验或有任何建议?

【问题讨论】:

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


    【解决方案1】:

    使用延迟作业。 http://railscasts.com/episodes/171-delayed-job 它会在错误时为您重试 N 次,您可以安排优先级或未来运行时间。您也可以在 crontab 中执行 rake 任务,但每分钟启动可能需要很长时间,从而消耗资源。

    如果您真的需要它在精确的时间运行,请考虑使用 when gem 的 cron,http://railscasts.com/episodes/164-cron-in-ruby

    【讨论】:

      【解决方案2】:

      简单的解决方案是在您的应用程序中创建一个 rake 任务,以查找您需要检查的传真任务,然后更新它们。把它放在一个 cron 工作中,你会做得很好。查看 whenever 为您配置 cron 作业。

      我想推荐一个不错的作业调度系统,但多年来我一直在寻找在 Rails 中使用的机会。

      【讨论】:

        猜你喜欢
        • 2015-04-11
        • 1970-01-01
        • 2019-05-25
        • 1970-01-01
        • 1970-01-01
        • 2018-11-28
        • 1970-01-01
        • 1970-01-01
        • 2017-07-25
        相关资源
        最近更新 更多