X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=update_daemon2.php;h=9d948a64d3c5cdea2e19cea5e1fcfa8d9f04c5ae;hb=f73e03e000d7119b8c9724790e70e4da4fb32cfe;hp=51fe8cfec29df8ff63b1448696f61d51cb04492c;hpb=f90728cde2d0a7c03f9046cfa94185ed845a03bb;p=tt-rss.git diff --git a/update_daemon2.php b/update_daemon2.php index 51fe8cfe..9d948a64 100755 --- a/update_daemon2.php +++ b/update_daemon2.php @@ -12,15 +12,14 @@ require_once "config.php"; require_once "autoload.php"; require_once "functions.php"; + require_once "rssfuncs.php"; // defaults define_default('PURGE_INTERVAL', 3600); // seconds define_default('MAX_CHILD_RUNTIME', 1800); // seconds define_default('MAX_JOBS', 2); define_default('SPAWN_INTERVAL', DAEMON_SLEEP_INTERVAL); // seconds - define_default('DAEMON_FEED_LIMIT', 250); - require_once "rssfuncs.php"; require_once "sanity_check.php"; require_once "db.php"; require_once "db-prefs.php"; @@ -171,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 @@ -191,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(); @@ -214,6 +203,7 @@ if (!$master_handlers_installed) { _debug("[MASTER] installing shutdown handlers"); pcntl_signal(SIGINT, 'sigint_handler'); + pcntl_signal(SIGTERM, 'sigint_handler'); register_shutdown_function('shutdown', posix_getpid()); $master_handlers_installed = true; }