2016-12-06 87 views
0

我想寫一個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 

我想每秒調用一次這個方法。什麼將是最好的辦法?

+1

你已經在你的標籤中提到了cron,你是否實現了它來每秒調用一次rake任務? – Sid

+0

是的,我試圖通過使用寶石。沒有運氣;( –

+0

檢查crontab日誌。如果你正在使用linux,檢查'/ var/log/syslog'爲什麼crons沒有被觸發。 – Sid

回答

0

我發現了多種方法。我可以做到這一點,而使用寶石像delayed_job gem whenever gem

或者我們可以寫一個函數,並開始像一個線程。

while TRUE do 
price() 
end 
0

嘗試將環境設置爲發展

whenever --update-crontab --set environment=development 
0
  1. 你可以用一個循環做到這一點:
    while TRUE do price() end

  2. 您可以使用delayed_job gem

  3. 您可以使用whenever gem

如果每當不忘記運行命令whenever --update-crontab