监视Rails中的周期性任务

时间:2011-07-16 23:34:22

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

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

2 个答案:

答案 0 :(得分:1)

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

我想建议一个不错的工作安排系统,但我一直在寻找在Rails中使用多年。

答案 1 :(得分:1)

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

如果你确实需要它完全按分钟运行,请考虑cron with when gem,http://railscasts.com/episodes/164-cron-in-ruby