У меня есть задача rake в приложении rails 4, которая вызывается с моего контроллера и работает в фоновом режиме, например:
system "rake fetch_news SOURCE=#{src} CATS=#{cat} C_ID=#{c_id} S_ID=#{s_id} FEED_ID=#{f_id} &"
Он отлично работает в фоновом режиме, выполняет свою работу, но мне нужно снова запустить его с теми же параметрами после задержки в 1,5-2 минуты.
Неофициально я вижу это так:
desc "Fetch news for specific category"
task :fetch_news => :environment do
... code of my background task ...
sleep 120
<< insert here some code to restart the task >>
end
но я не знаю, как это реализовать :(. Первоначально я думал, что могу определить функцию в своей задаче, вызвать функцию, заснуть, вызвать ее снова, но задача не позволяет определить функцию в.
Я искал в Google решения, но не нашел ничего, что могло бы мне помочь. Можете ли вы дать мне идею?
Спасибо!