RSS - Feedjira обновляет, жемчужина часов работает в рельсах
Я новичок в рельсах, поэтому я посмотрел Railscast #168, чтобы понять, как работает feedjira. Я понял, как это работает сейчас. Я получил функциональные возможности для работы, а также. Где я борюсь в разделе обновлений, я не могу заставить работать обновление "15 минут".
Поэтому я скачал камень под названием "Заводной", но не могу понять, как связать камень с заводскими обновлениями из feed_entry.rb. Я хочу, чтобы RSS-канал обновлялся каждые 15 минут и каждые 1 час.
class FeedEntry < ActiveRecord::Base
def self.update_from_feed(feed_url)
feed = Feedjira::Feed.fetch_and_parse(feed_url)
add_entries(feed.entries)
end
def self.update_from_feed_continuously(feed_url, delay_interval = 15.minutes)
feed = Feedjira::Feed.fetch_and_parse(feed_url)
add_entries(feed.entries)
loop do
sleep delay_interval
feed = Feedjira::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
<div id="recent_episodes">
<h3>Recent Railscasts Episodes</h3>
<ul>
<% for entry in FeedEntry.all.limit(10).order("published_at DESC") %>
<li><%= link_to h(entry.name), entry.url %></li>
<i><%= entry.url %></li>
<% end %>
</ul>
</div>
Вот код, который предоставляет документация, https://github.com/tomykaira/clockwork.
Я сгенерировал модель вызова часов.
Но я пока не уверен, как его использовать.
class Clock < ActiveRecord::Base
require 'clockwork'
module Clockwork
handler do |job|
puts "Running #{job}"
end
# handler receives the time when job is prepared to run in the 2nd argument
# handler do |job, time|
# puts "Running #{job}, at #{time}"
# end
every(10.seconds, 'frequent.job')
every(3.minutes, 'less.frequent.job')
every(1.hour, 'hourly.job')
every(1.day, 'midnight.job', :at => '00:00')
end
end
1 ответ
Насколько я вижу, функция обновления была удалена из feedjira из-за серьезных проблем с обнаружением новых каналов.
См. https://github.com/feedjira/feedjira/commit/6f56516934a9bdb8691f2bbe98be0f2b7c25b7ea
Сайт обновлен и сейчас http://feedjira.com/
Мне также интересна библиотека, которая способна обнаруживать обновления каналов без загрузки всех элементов. Какие-либо предложения?