如何使代码每30分钟运行一次?

时间:2013-05-20 09:35:51

标签: ruby-on-rails whenever

我在家庭控制器中有这个代码

  def index
    urls = RssStream.select("rss_streams.url").all.map { |v| v[:url] }
    RssStream.update_all_feeds(urls)
  end

我想每隔30.分钟运行一次这段代码。 我该怎么办?

我已经尝试通过gem'随时',没有任何反应

3 个答案:

答案 0 :(得分:3)

此代码不应放在您的控制器中。将其解压缩为own Rake task,然后将其设为executed by whenever

答案 1 :(得分:1)

编写代码脚本并安排30分钟的cron作业。您可以使用webmin。 参考链接: - http://www.hosting.com/support/webmin/create-new-cron-jobs-using-the-webmin-interface 要么 http://railscasts.com/episodes/164-cron-in-ruby

答案 2 :(得分:0)

你应该把它放入Rake任务中,并且可能使用cron job来执行它。