FeedForAll Forum Index  
 Home  •  FAQ  •   Search   •  Register   •  Profile   •  Log in
 Where to insert a delay View next topic
View previous topic
Post new topicReply to topic
Author Message
Morten



Joined: 17 May 2008
Posts: 9

PostPosted: Mon Aug 18, 2008 3:38 pm Reply with quoteBack to top

I use rssmesh to merge 10 differene delicious feeds into one to remove doublets. Works great - thanks.

Sometimes the updating is not working as expected according to the specified
$useOutputCaching = 1;
$outputCacheTTL = 120;
All "feedTTL" => "3600"

I suspect that the issue is caused by delicious kicking me because rssmesh don't take a short break (delay(1000);) between retrieving each of the 10 feeds.

On http://delicious.com/help/feeds delicious wrote:

"Since feeds at Delicious see quite a bit of high-volume use, it's not practical to offer immediately fresh results at all times. In particular, RSS feeds may not be updated more than twice an hour, and JSON feeds are likely to show a degree of staleness at times as well. Polling feeds more often will not yield better data, and may result in HTTP 503 Unavailable errors indicating either that your application has been blocked or the servers are otherwise temporarily throttling your requests."

How do I debug this problem?
Where in the code would you suggest that I insert a delay(1000) to please the delicious servers?

All the best
Morten
View user's profile
Tech Support



Joined: 27 Aug 2004
Posts: 2783

PostPosted: Mon Oct 27, 2008 12:50 pm Reply with quoteBack to top

Look for this block of code in the rssmesh.php file:
Code:

    for ($inputCounter = 0; $inputCounter < count($feedList); $inputCounter++) {
      $rss_parserResults->itemLimit = $feedList[$inputCounter]["itemCount"];
      if (stristr($feedList[$inputCounter]["fileURL"], "http")) {
        $rss_parserResults->sourceFeedURL = trim($feedList[$inputCounter]["fileURL"]);
      } else {
        $rss_parserResults->sourceFeedURL = "";
      }

      $feedTTL = -1;
      if (isset($feedList[$inputCounter]["feedTTL"])) {
        $feedTTL = $feedList[$inputCounter]["feedTTL"];
      }

      if (($XML = FeedForAll_scripts_readFile($feedList[$inputCounter]["fileURL"], $useFopenURL, $allowCachingXMLFiles, $feedTTL)) === FALSE) {
        if ($ReadErrorString == "") {
          echo "Unable to open RSS Feed ".$feedList[$inputCounter]["fileURL"].", exiting\n";
        } else {
          echo "Unable to open RSS Feed ".$feedList[$inputCounter]["fileURL"]." with error <b>$ReadErrorString</b>, exiting\n";
        }
        continue;
      }


Try inserting this line after the line the begins with 'for':
Code:

sleep(1);

_________________
Create RSS Feeds
Audio Recording and Editing
View user's profile
Display posts from previous:      
Post new topicReply to topic


 Jump to:   



View next topic
View previous topic


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme