自动化&使用rails安排API请求?

时间:2015-05-16 20:36:41

标签: ruby-on-rails

有没有办法使用Rails自动化和安排API请求?我想提出请求并将该信息保存到我的数据库中,但是我可能只需要它每隔几个小时就最新信息提出请求。这是一个很好的数据量,所以我希望存储它,而不是每次用户访问时都提出请求。

我是否可以按照计划(或者我希望完成的替代方案)设置某种rake任务?

谢谢!

3 个答案:

答案 0 :(得分:3)

clockworkwhenever宝石用于运行计划任务。

如果您在Heroku上托管,您还可以使用Heroku Scheduler add-on每10分钟,每小时或每天在Rails应用中执行任务。

答案 1 :(得分:2)

以上解决方案很好,可能适合您的需求。基于Redis的更复杂的排队和调度解决方案支持多次重试,具有监控接口等。

我在Resque和https://github.com/resque/resque-scheduler

方面有过很好的经历

如果您可以确定您的代码是线程安全的,那么还有Sidekiq https://github.com/mperham/sidekiq/wiki/Scheduled-Jobs

答案 2 :(得分:2)

我会查看Sidekiq。它使用redis,因此支持提及errata之类的重试。

https://github.com/mperham/sidekiq/wiki/Scheduled-Jobs