<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -3,19 +3,22 @@ require File.dirname(__FILE__) + '/../app/models/rss_feed.rb'
 class FetchRssItems
   def self.fetch_one
     #return whether worth checking again soon
+    activity = nil
     begin
-      rss_feed = RssFeed.find_next_to_fetch
+      rss_feed = RssFeed.find_next_to_fetch!
       rss_feed.check_feed()
+      activity = &quot;checked #{rss_feed.url}&quot;
     rescue ActiveRecord::StaleObjectError
       #do nothing
+        activity = &quot;had a conflict with another rssfeedfetcher&quot;
     rescue ActiveRecord::RecordNotFound
       #not worth checking again for a while
-      return false
     rescue
-      puts &quot;error #{$!} %s&quot; % rss_feed
+      activity = &quot;error #{$!} %s&quot; % rss_feed
+      puts activity 
       return unless rss_feed
       rss_feed.update_attributes(:error_message=&gt; &quot;Unexpected error: #{$!}&quot;, :next_fetch =&gt; Time.now + 1.minute)
     end
-    return true
+    return activity
   end
 end
\ No newline at end of file</diff>
      <filename>lib/fetch_rss_items.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,10 +5,10 @@ require root + '/config/environment'
 require root + '/lib/fetch_rss_items'
 
 loop do
-  worth_checking_again_soon = FetchRssItems.fetch_one
-  if worth_checking_again_soon
+  activity = FetchRssItems.fetch_one
+  if activity
     #got one... sleep for a bit just not to be a processor hog
-    puts &quot;#{Time.now.to_s :short} checked #{rss_feed.url}&quot;
+    puts &quot;#{Time.now.to_s :short} &quot;
     sleep 5
   else
     puts &quot;#{Time.now.to_s :short} nothing to do, wait for a bit&quot;</diff>
      <filename>script/rss_feed_fetcher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -60,20 +60,20 @@ class RssFeedTest &lt; ActiveSupport::TestCase
   end
   
   should &quot;be able to get next feeds to fetch&quot; do
-    rss_feed = RssFeed.find_next_to_fetch
+    rss_feed = RssFeed.find_next_to_fetch!
     assert_equal rss_feeds(:never_fetched_feed).id, rss_feed.id 
     rss_feed.update_attributes(:last_fetched=&gt;Time.now, :next_fetch =&gt; Time.now + 10.minute)
     
-    rss_feed = RssFeed.find_next_to_fetch
+    rss_feed = RssFeed.find_next_to_fetch!
     assert_equal rss_feeds(:long_ago_fetched_feed), rss_feed 
     rss_feed.update_attributes(:last_fetched=&gt;Time.now, :next_fetch =&gt; Time.now + 10.minute)
     
-    rss_feed = RssFeed.find_next_to_fetch
+    rss_feed = RssFeed.find_next_to_fetch!
     assert_equal rss_feeds(:recently_fetched_feed).id, rss_feed.id 
     rss_feed.update_attributes(:last_fetched=&gt;Time.now, :next_fetch =&gt; Time.now + 10.minute)
     
     begin 
-      rss_feed = RssFeed.find_next_to_fetch
+      rss_feed = RssFeed.find_next_to_fetch!
       flunk &quot;expected error but got #{rss_feed.url}&quot;
     rescue ActiveRecord::RecordNotFound
     end</diff>
      <filename>test/unit/rss_feed_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>5f65f6c0f10af4c72b956fa58f10e434e7c08eb0</id>
    </parent>
  </parents>
  <author>
    <name>Tim Diggins</name>
    <email>tim@red56.co.uk</email>
  </author>
  <url>http://github.com/red56/the-connected-website/commit/c4dc526defe5270186ecd671ebf44ae2fba1a676</url>
  <id>c4dc526defe5270186ecd671ebf44ae2fba1a676</id>
  <committed-date>2009-03-14T09:59:06-07:00</committed-date>
  <authored-date>2009-03-14T09:59:06-07:00</authored-date>
  <message>fixed silly error, made code even more readable</message>
  <tree>6546dde593a6d5d1e36db6fcd7edc41c3f49c7f8</tree>
  <committer>
    <name>Tim Diggins</name>
    <email>tim@red56.co.uk</email>
  </committer>
</commit>
