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