Index: simplefeed.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/simplefeed/simplefeed.install,v
retrieving revision 1.10.2.4
diff -u -p -r1.10.2.4 simplefeed.install
--- simplefeed.install	12 Jun 2008 09:38:05 -0000	1.10.2.4
+++ simplefeed.install	24 Sep 2008 07:22:32 -0000
@@ -15,6 +15,7 @@ function simplefeed_install() {
         expires int NOT NULL default '0',
         refresh int NOT NULL default '0',
         checked int NOT NULL default '0',
+        error int(1) NOT NULL default '0', 
         hash varchar(32),        
         PRIMARY KEY (vid),
         KEY nid (nid)
@@ -28,6 +29,7 @@ function simplefeed_install() {
         expires int NOT NULL default '0',
         refresh int NOT NULL default '0',
         checked int NOT NULL default '0',
+        error int(1) NOT NULL default '0',
         hash varchar(32),        
         PRIMARY KEY (vid)
       )");
@@ -64,3 +66,15 @@ function simplefeed_update_2() {
   $ret[] = update_sql("ALTER TABLE {simplefeed_feed} CHANGE url url text");  
   return $ret;
 }
+
+function simplefeed_update_3() {
+  $ret = array();
+  $ret[] = update_sql("ALTER TABLE {simplefeed_feed} ADD COLUMN error int(1) NOT NULL DEFAULT 0");
+  if ($GLOBALS['db_type'] == 'pgsql') {
+    db_query("CREATE INDEX {simplefeed_feed}_error_idx ON {simplefeed_feed} (error)");
+  }
+  else {
+    db_query("CREATE INDEX {simplefeed_error} ON {simplefeed_feed} (error)");
+  }
+  return $ret;
+}
Index: simplefeed.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/simplefeed/simplefeed.module,v
retrieving revision 1.44.2.11
diff -u -p -r1.44.2.11 simplefeed.module
--- simplefeed.module	13 Aug 2008 22:28:17 -0000	1.44.2.11
+++ simplefeed.module	24 Sep 2008 07:22:32 -0000
@@ -471,7 +461,7 @@ function simplefeed_feed_refresh($nid = 
     $limit = variable_get('simplefeed_cron_throttle', 50);
     // limit in ASC order so we grab the top N that haven't been checked recently
     // we can only update feed nodes that have a valid refresh time set; ignore "never" and "manual" options
-    $query = 'SELECT n.nid FROM {node} n INNER JOIN {simplefeed_feed} s ON n.vid = s.vid WHERE ((%d - s.checked) >= s.refresh) AND n.status = 1 AND s.refresh > 1 ORDER BY s.checked ASC';
+    $query = 'SELECT n.nid FROM {node} n INNER JOIN {simplefeed_feed} s ON n.vid = s.vid WHERE ((%d - s.checked) >= s.refresh) AND n.status = 1 AND s.refresh > 1  AND s.error = 0 ORDER BY s.checked ASC';
     if ($limit != 'unlimited') {
       $process_feeds = db_query_range($query, time(), 0, $limit);
     }
@@ -535,6 +533,7 @@ function simplefeed_feed_process($nid) {
   }
   else if (isset($feed->error)) {
     watchdog('simplefeed', t('The feed %feed could not be processed due to the following error: %error', array('%feed' => $process_feed->title, '%error' => $feed->error)), WATCHDOG_ERROR, l('view', 'node/'. $process_feed->nid));
+    db_query("UPDATE {simplefeed_feed} SET error = 1 WHERE vid = %d", $process_feed->vid);
   }
 }
