我想写一个rails的方法,每秒从Oanda获取Live黄金价格。定期执行调用Ruby On Rails
def price
client = OandaAPI::Client::TokenClient.new(:practice, "xxxxxxxxxx")
@prices = client.prices(instruments: %w(XAG_USD,XAU_USD,XPT_USD)).get
end
我想每秒调用一次这个方法。什么将是最好的办法?
我想写一个rails的方法,每秒从Oanda获取Live黄金价格。定期执行调用Ruby On Rails
def price
client = OandaAPI::Client::TokenClient.new(:practice, "xxxxxxxxxx")
@prices = client.prices(instruments: %w(XAG_USD,XAU_USD,XPT_USD)).get
end
我想每秒调用一次这个方法。什么将是最好的办法?
我发现了多种方法。我可以做到这一点,而使用宝石像delayed_job gem whenever gem
或者我们可以写一个函数,并开始像一个线程。
while TRUE do
price()
end
尝试将环境设置为发展
whenever --update-crontab --set environment=development
你可以用一个循环做到这一点:
while TRUE do price() end
您可以使用delayed_job gem
如果每当不忘记运行命令whenever --update-crontab
你已经在你的标签中提到了cron,你是否实现了它来每秒调用一次rake任务? – Sid
是的,我试图通过使用宝石。没有运气;( –
检查crontab日志。如果你正在使用linux,检查'/ var/log/syslog'为什么crons没有被触发。 – Sid