我将为我的应用Rails 3.2.3和Heroku设置一些功能。这个想法是让一个任务或作业(或者你想叫它的任何东西)每天运行,以确保来自外部API的用户信息与我的数据库中的用户信息是最新的。我很好奇设置这个的最好方法是什么?应该是运行rake任务的cron作业吗?
似乎有很多方法可以做到这一点,我对其他人做这件事的方式很感兴趣。我能想到的唯一方法是在cron作业中运行rake任务,但我很想弄清楚最佳实践是什么,或者说是最简单的方法。似乎有很多方法来剥这只猫的皮……还有很多不同的工具。
如果有一种纯rails的方法来做这件事,我认为那会更好,这样我就不必在我放置应用程序的每个系统上胡闹了。
发布于 2012-08-01 21:40:06
对于一个每天运行一次的简单同步作业,我相信拥有一个cronjob就足够了,而且从长远来看可能会更稳定。
老实说,像Resque和Sidekiq这样的解决方案在我看来(对于你的需求)有点过头了。您仍然需要使用调度程序向这些系统发送消息。
如果您正在考虑简化的部署和编写,请查看gem‘crontabs ’:https://github.com/javan/whenever/
关于“无论何时”的铁路广播:http://railscasts.com/episodes/164-cron-in-ruby
发布于 2012-08-01 09:36:12
有两种选择。它们比你在问题中提到的选项更好
试试后面的那个。它更快,更轻,基于多线程,所以不会对系统造成干扰。您需要查看两个gem的调度器,以便每天进行处理。
希望这能有所帮助!
发布于 2012-08-01 14:59:38
使用Heroku scheduler附加到句柄调度本身。你可以让它运行一个rake任务,重新排队,或者其他任何东西。
https://stackoverflow.com/questions/11751325
复制相似问题