From: Andrew Dolgov Date: Wed, 24 Apr 2013 10:54:59 +0000 (+0400) Subject: unify houskeeping stuff, increase spawn interval X-Git-Tag: 1.7.9~25^2~96 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=e2cf81e21406f0b507446cf369f7da172ce9da14;p=tt-rss.git unify houskeeping stuff, increase spawn interval --- diff --git a/classes/db.php b/classes/db.php index 9b800dc2..695ca6ea 100644 --- a/classes/db.php +++ b/classes/db.php @@ -53,6 +53,10 @@ class Db implements IDb { return("'$str'"); } + function reconnect() { + $this->link = $this->adapter->connect(DB_HOST, DB_USER, DB_PASS, DB_NAME, defined('DB_PORT') ? DB_PORT : ""); + } + function connect($host, $user, $pass, $db, $port) { //return $this->adapter->connect($host, $user, $pass, $db, $port); return ; diff --git a/classes/handler/public.php b/classes/handler/public.php index 3b373edf..0d9b0468 100644 --- a/classes/handler/public.php +++ b/classes/handler/public.php @@ -368,14 +368,7 @@ class Handler_Public extends Handler { include "rssfuncs.php"; // Update all feeds needing a update. update_daemon_common(0, true, false); - - // Update feedbrowser - update_feedbrowser_cache(); - - // Purge orphans and cleanup tags - purge_orphans(); - - cleanup_tags(14, 50000); + housekeeping_common(false); PluginHost::getInstance()->run_hooks(PluginHost::HOOK_UPDATE_TASK, "hook_update_task", $op); diff --git a/include/functions.php b/include/functions.php index 72b20cd0..a41d3a95 100644 --- a/include/functions.php +++ b/include/functions.php @@ -922,7 +922,7 @@ function get_schema_version($nocache = false) { global $schema_version; - if (!$schema_version) { + if (!$schema_version && !$nocache) { $result = db_query("SELECT schema_version FROM ttrss_version"); $version = db_fetch_result($result, 0, "schema_version"); $schema_version = $version; diff --git a/include/rssfuncs.php b/include/rssfuncs.php index 48638f57..a64d60e1 100644 --- a/include/rssfuncs.php +++ b/include/rssfuncs.php @@ -1,7 +1,7 @@ diff --git a/update.php b/update.php index 0853f3dd..d4160c7b 100755 --- a/update.php +++ b/update.php @@ -148,18 +148,8 @@ } if (isset($options["feeds"])) { - // Update all feeds needing a update. update_daemon_common(); - - // Update feedbrowser - $count = update_feedbrowser_cache(); - _debug("Feedbrowser updated, $count feeds processed."); - - // Purge orphans and cleanup tags - purge_orphans( true); - - $rc = cleanup_tags( 14, 50000); - _debug("Cleaned $rc cached tags."); + housekeeping_common(true); PluginHost::getInstance()->run_hooks(PluginHost::HOOK_UPDATE_TASK, "hook_update_task", $op); } @@ -185,15 +175,8 @@ } update_daemon_common(isset($options["pidlock"]) ? 50 : DAEMON_FEED_LIMIT); + housekeeping_common(true); - $count = update_feedbrowser_cache(); - _debug("Feedbrowser updated, $count feeds processed."); - - purge_orphans( true); - - $rc = cleanup_tags( 14, 50000); - - _debug("Cleaned $rc cached tags."); PluginHost::getInstance()->run_hooks(PluginHost::HOOK_UPDATE_TASK, "hook_update_task", $op); } diff --git a/update_daemon2.php b/update_daemon2.php index 7692eb93..d5b6a45e 100755 --- a/update_daemon2.php +++ b/update_daemon2.php @@ -170,14 +170,15 @@ "Maybe another daemon is already running.\n"); } - init_plugins(); - $schema_version = get_schema_version(); if ($schema_version != SCHEMA_VERSION) { die("Schema version is wrong, please upgrade the database.\n"); } + // Protip: children close shared database handle when terminating, it's a bad idea to + // do database stuff on main process from now on. + while (true) { // Since sleep is interupted by SIGCHLD, we need another way to @@ -190,17 +191,6 @@ } if ($last_checkpoint + $spawn_interval < time()) { - - /* Check if schema version changed */ - - $test_schema_version = get_schema_version(); - - if ($test_schema_version != $schema_version) { - echo "Expected schema version: $schema_version, got: $test_schema_version\n"; - echo "Schema version changed while we were running, bailing out\n"; - exit(100); - } - check_ctimes(); reap_children();