feed-updater 904 Bytes
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/environment'

(FeedReaderBlock.find(:all) + ExternalFeed.find(:all, :conditions => {:enabled => true})).each do |container|
  unless container.address.nil?
    begin
      handler = FeedHandler.new
      handler.process(container)
      RAILS_DEFAULT_LOGGER.info("%s ID %d fetched at %s" % [container.class.name, container.id, container.fetched_at])
    rescue FeedHandler::ParseError => ex
      RAILS_DEFAULT_LOGGER.warn("Error parsing content from %s ID %d\n%s" % [container.class.name, container.id, ex.to_s])
    rescue FeedHandler::FetchError => ex
      RAILS_DEFAULT_LOGGER.warn("Error fetching content from %s ID %d\n%s" % [container.class.name, container.id, ex.to_s])
    rescue Exception => ex
      RAILS_DEFAULT_LOGGER.warn("Unknown error from %s ID %d\n%s" % [container.class.name, container.id, ex.to_s])
    end
  end
end