定期执行调用Ruby On Rails

时间:2016-12-06 04:53:12

标签: ruby-on-rails ruby cron

我想在rails中编写一个方法,每秒从Oanda获取Live金价。

 def price
      client = OandaAPI::Client::TokenClient.new(:practice, "xxxxxxxxxx") 
      @prices = client.prices(instruments: %w(XAG_USD,XAU_USD,XPT_USD)).get
 end

我想每秒调用一次这个方法。什么是最好的方法??

3 个答案:

答案 0 :(得分:0)

尝试将环境设置为开发

whenever --update-crontab --set environment=development 

答案 1 :(得分:0)

  1. 你可以用循环来完成:
    while TRUE do price() end

  2. 您可以使用delayed_job gem

  3. 您可以使用whenever gem
  4. 如果不小心忘记运行命令whenever --update-crontab

答案 2 :(得分:0)

我找到了多种方法。我可以在使用像delayed_job gem这样的宝石时这样做 whenever gem

或者我们可以编写一个函数并启动一个类似的线程。

while TRUE do
 price()
end