]> git.wh0rd.org - tt-rss.git/commitdiff
make globalUpdateFeeds handler use simple update mechanism to prevent script timeouts
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>
Wed, 24 Jul 2013 08:55:10 +0000 (12:55 +0400)
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>
Wed, 24 Jul 2013 08:55:10 +0000 (12:55 +0400)
classes/handler/public.php
classes/rpc.php

index 60a961bfa273977c001874ab419139340b8fb39b..de0ab66f8b678e5bdfbd906e988638ed684121b1 100644 (file)
@@ -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() {
index 9cc8e704669db4a28d96ff175e2e03d2feb54bb6..cfd9c4f22388f30cb88a16e876f8d106b4075656 100644 (file)
@@ -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();