我在rails 4应用程序中有一个rake任务,它从我的控制器调用并在后台运行,如下所示:
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上搜索了解决方案,但我找不到任何可以帮助我的方法。你能给我一个想法吗?
谢谢!
答案 0 :(得分:0)
而不是rake任务,你应该使用: