2016-12-06 1 views
0

Я хочу написать метод в рельсах, которые выбирают Live Gold price из Oanda каждую секунду.Регулярно исполняемые вызовы 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 в своих тегах, внедрили ли вы его, чтобы каждый раз ссылаться на рейк-задачу? – Sid

+0

Да, я пробовал это, используя всякий раз, когда драгоценный камень. ( –

+0

Проверьте журнал crontab. Если вы используете linux, проверьте '/ var/log/syslog' за то, почему кроны не запускаются. – 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