From 1f4ad53c41c9363686a3e36d62097f4bfa285a9a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 11 Feb 2006 15:13:23 +0100 Subject: individual feed updater stub for scheduler mode --- backend.php | 23 +++++++++++-------- update_daemon.php | 67 ++++++++++++++++++++++++++++++++----------------------- 2 files changed, 53 insertions(+), 37 deletions(-) diff --git a/backend.php b/backend.php index 94a13406a..4401b259c 100644 --- a/backend.php +++ b/backend.php @@ -705,10 +705,13 @@ if (ENABLE_UPDATE_SCHEDULER) { - // FIXME schedule update - + // FIXME schedule new update entry (with rate limit check) + } else { - update_all_feeds($link, $subop == "forceUpdateAllFeeds"); + update_all_feeds($link, $subop == "forceUpdateAllFeeds"); + } + + if (!(ENABLE_UPDATE_SCHEDULER && $subop == "forceUpdateAllFeeds")) { $omode = $_GET["omode"]; @@ -1013,13 +1016,15 @@ if ($subop == "ForceUpdate" && sprintf("%d", $feed) > 0) { - $tmp_result = db_query($link, "SELECT feed_url FROM ttrss_feeds - WHERE id = '$feed'"); - - $feed_url = db_fetch_result($tmp_result, 0, "feed_url"); - - update_rss_feed($link, $feed_url, $feed); + if (ENABLE_UPDATE_SCHEDULER) { + // FIXME Schedule new feed entry for updating (w/rate limiting) + } else { + $tmp_result = db_query($link, "SELECT feed_url FROM ttrss_feeds + WHERE id = '$feed'"); + $feed_url = db_fetch_result($tmp_result, 0, "feed_url"); + update_rss_feed($link, $feed_url, $feed); + } } if ($subop == "MarkAllRead") { diff --git a/update_daemon.php b/update_daemon.php index 0e5424d43..d9a465a5e 100644 --- a/update_daemon.php +++ b/update_daemon.php @@ -3,7 +3,7 @@ // this daemon runs in the background and updates all feeds // continuously - define('SLEEP_INTERVAL', 30); // seconds + define('SLEEP_INTERVAL', 10); // seconds // TODO: allow update scheduling from users @@ -32,37 +32,48 @@ pg_query("set client_encoding = 'utf-8'"); } - $result = db_query($link, "SELECT feed_url,id,owner_uid, - SUBSTRING(last_updated,1,19) AS last_updated, - update_interval FROM ttrss_feeds ORDER BY last_updated DESC"); - - while ($line = db_fetch_assoc($result)) { - - print "Checking feed: " . $line["feed_url"] . "\n"; - - $upd_intl = $line["update_interval"]; - - $user_id = $line["owner_uid"]; - - if (!$upd_intl || $upd_intl == 0) { - $upd_intl = get_pref($link, 'DEFAULT_UPDATE_INTERVAL', $user_id); + while (true) { + + // FIXME: get all schedule updates w/forced refetch + + print "Checking schedules updates (NOT IMPLEMENTED YET)\n"; + + // Process all other feeds using last_updated and interval parameters + + $result = db_query($link, "SELECT feed_url,id,owner_uid, + SUBSTRING(last_updated,1,19) AS last_updated, + update_interval FROM ttrss_feeds ORDER BY last_updated DESC"); + + while ($line = db_fetch_assoc($result)) { + + print "Checking feed: " . $line["feed_url"] . "\n"; + + $upd_intl = $line["update_interval"]; + + $user_id = $line["owner_uid"]; + + if (!$upd_intl || $upd_intl == 0) { + $upd_intl = get_pref($link, 'DEFAULT_UPDATE_INTERVAL', $user_id); + } + + # printf("%d ? %d\n", time() - strtotime($line["last_updated"]) > $upd_intl*60, + # $upd_intl*60); + + if (!$line["last_updated"] || + time() - strtotime($line["last_updated"]) > ($upd_intl * 60)) { + + print "Updating...\n"; + + update_rss_feed($link, $line["feed_url"], $line["id"], true); + + } } -# printf("%d ? %d\n", time() - strtotime($line["last_updated"]) > $upd_intl*60, -# $upd_intl*60); - - if (!$line["last_updated"] || - time() - strtotime($line["last_updated"]) > ($upd_intl * 60)) { - - print "Updating...\n"; - - update_rss_feed($link, $line["feed_url"], $line["id"], true); - - } + print "Sleeping for " . SLEEP_INTERVAL . " seconds...\n"; + + sleep(SLEEP_INTERVAL); } -// sleep(SLEEP_INTERVAL); - db_close($link); ?> -- cgit v1.2.3