]> git.wh0rd.org - tt-rss.git/blobdiff - update_daemon2.php
modify include path order (closes #514)
[tt-rss.git] / update_daemon2.php
index 6ccdbcb100e5a7fc2afd614563a1098159b92e76..05b55ffe311a636901d9f20648227ffeeb88711f 100755 (executable)
@@ -1,7 +1,7 @@
-#!/usr/bin/php
+#!/usr/bin/env php
 <?php
-       // This is an experimental multiprocess update daemon.
-       // Some configurable variable may be found below.
+       set_include_path(dirname(__FILE__) ."/include" . PATH_SEPARATOR .
+               get_include_path());
 
        declare(ticks = 1);
        chdir(dirname(__FILE__));
        define('PURGE_INTERVAL', 3600); // seconds
        define('MAX_CHILD_RUNTIME', 600); // seconds
 
+       require_once "functions.php";
+       require_once "rssfuncs.php";
        require_once "sanity_check.php";
        require_once "config.php";
+       require_once "db.php";
+       require_once "db-prefs.php";
+       require_once "lib/magpierss/rss_fetch.inc";
 
        define('MAX_JOBS', 2);
        define('SPAWN_INTERVAL', DAEMON_SLEEP_INTERVAL);
                die("error: This script requires PHP compiled with PCNTL module.\n");
        }
 
-       require_once "db.php";
-       require_once "db-prefs.php";
-       require_once "functions.php";
-       require_once "lib/magpierss/rss_fetch.inc";
-
        $children = array();
        $ctimes = array();
 
@@ -50,6 +50,8 @@
                                        array_push($tmp, $pid);
                                } else {
                                        _debug("[reap_children] child $pid seems active but lockfile is unlocked.");
+                                       unset($ctimes[$pid]);
+
                                }
                        } else {
                                _debug("[reap_children] child $pid reaped.");
        // It is unnecessary to start the fork loop if database is not ok.
        $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
 
-       if (!$link) {
-               if (DB_TYPE == "mysql") {
-                       print mysql_error();
-               }
-               // PG seems to display its own errors just fine by default.
-               return;
-       }
+       if (!init_connection($link)) return;
 
        db_close($link);
 
 
                                        $link = db_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
 
-                                       if (!$link) {
-                                               if (DB_TYPE == "mysql") {
-                                                       print mysql_error();
-                                               }
-                                               // PG seems to display its own errors just fine by default.
-                                               return;
-                                       }
-
-                                       init_connection($link);
+                                       if (!init_connection($link)) return;
 
                                        // We disable stamp file, since it is of no use in a multiprocess update.
                                        // not really, tho for the time being -fox
 
                                                _debug("Cleaned $rc cached tags.");
 
+                                               _debug("Updating linked feeds...");
+                                               get_linked_feeds($link);
+
                                        }
 
                                        _debug("Elapsed time: " . (time() - $start_timestamp) . " second(s)");