何时/何地调用self.update_from_feed_continuously?

时间:2017-04-03 00:40:04

标签: ruby-on-rails rss feedjira

只是一个简单的问题。观看RailsCasts ep#168并看到以下代码后:

class FeedEntry < ActiveRecord::Base
  def self.update_from_feed(feed_url)
    feed = Feedzirra::Feed.fetch_and_parse(feed_url)
    add_entries(feed.entries)
  end

  def self.update_from_feed_continuously(feed_url, delay_interval = 15.minutes)
    feed = Feedzirra::Feed.fetch_and_parse(feed_url)
    add_entries(feed.entries)
    loop do
      sleep delay_interval
      feed = Feedzirra::Feed.update(feed)
      add_entries(feed.new_entries) if feed.updated?
    end
  end

  private

  def self.add_entries(entries)
    entries.each do |entry|
      unless exists? :guid => entry.id
        create!(
          :name         => entry.title,
          :summary      => entry.summary,
          :url          => entry.url,
          :published_at => entry.published,
          :guid         => entry.id
        )
      end
    end
  end
end

我问自己应该在何时/何时调用方法self.update_from_feed_continuously(blah,blah)?它会在我的Feed控制器中,还是在视图中(即索引,显示等等)

非常感谢任何帮助。这个问题一直困扰着我......

1 个答案:

答案 0 :(得分:1)

这只是一种从输入网址连续获取Feed的方法。

它可以在任何地方调用,它取决于具体情况。

当您通过controller提交Feed网址时,请在controller中调用该方法。

当您确定应定期运行Feed任务时,rake任务可以通过wheneverhttps://github.com/javan/whenever

调用该任务