From: Andrew Dolgov Date: Wed, 24 Jul 2013 08:55:10 +0000 (+0400) Subject: make globalUpdateFeeds handler use simple update mechanism to prevent script timeouts X-Git-Tag: 1.10~67 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=113c3dec9e02f48df22cda107257d15655e3f007;p=tt-rss.git make globalUpdateFeeds handler use simple update mechanism to prevent script timeouts --- diff --git a/classes/handler/public.php b/classes/handler/public.php index 60a961bf..de0ab66f 100644 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -391,13 +391,9 @@ class Handler_Public extends Handler { } function globalUpdateFeeds() { - include "rssfuncs.php"; - // Update all feeds needing a update. - update_daemon_common(0, true, false); - housekeeping_common(false); + RPC::updaterandomfeed_real($this->dbh); PluginHost::getInstance()->run_hooks(PluginHost::HOOK_UPDATE_TASK, "hook_update_task", $op); - } function sharepopup() { diff --git a/classes/rpc.php b/classes/rpc.php index 9cc8e704..cfd9c4f2 100644 --- a/classes/rpc.php +++ b/classes/rpc.php @@ -476,7 +476,8 @@ class RPC extends Handler_Protected { print json_encode(array("wide" => $wide)); } - function updaterandomfeed() { + static function updaterandomfeed_real($dbh) { + // Test if the feed need a update (update interval exceded). if (DB_TYPE == "pgsql") { $update_limit_qpart = "AND (( @@ -508,7 +509,7 @@ class RPC extends Handler_Protected { $random_qpart = sql_random_function(); // We search for feed needing update. - $result = $this->dbh->query("SELECT ttrss_feeds.feed_url,ttrss_feeds.id + $result = $dbh->query("SELECT ttrss_feeds.feed_url,ttrss_feeds.id FROM ttrss_feeds, ttrss_users, ttrss_user_prefs WHERE @@ -527,7 +528,7 @@ class RPC extends Handler_Protected { $tstart = time(); - while ($line = $this->dbh->fetch_assoc($result)) { + while ($line = $dbh->fetch_assoc($result)) { $feed_id = $line["id"]; if (time() - $tstart < ini_get("max_execution_time") * 0.7) { @@ -551,6 +552,10 @@ class RPC extends Handler_Protected { } + function updaterandomfeed() { + RPC::updaterandomfeed_real($this->dbh); + } + private function markArticlesById($ids, $cmode) { $tmp_ids = array();