diff --git a/classes/rssutils.php b/classes/rssutils.php index d7361b2c0..114932569 100755 --- a/classes/rssutils.php +++ b/classes/rssutils.php @@ -150,7 +150,8 @@ class RSSUtils { $log = function_exists("flock") && isset($options['log']) ? '--log '.$options['log'] : ''; $log_level = isset($options['log-level']) ? '--log-level '.$options['log-level'] : ''; - passthru(PHP_EXECUTABLE . " update.php --update-feed " . $tline["id"] . " --pidlock feed-" . $tline["id"] . " $quiet $log $log_level"); + $exit_code = 0; + passthru(PHP_EXECUTABLE . " update.php --update-feed " . $tline["id"] . " --pidlock feed-" . $tline["id"] . " $quiet $log $log_level", $exit_code); /* try { self::update_rss_feed($tline["id"], true, false); @@ -165,7 +166,11 @@ class RSSUtils { } } */ - Debug::log(sprintf(" %.4f (sec)", microtime(true) - $fstarted)); + Debug::log(sprintf(" %.4f (sec) RC=%d", microtime(true) - $fstarted, $exit_code)); + + if ($exit_code != 0) { + Logger::get()->log(sprintf("Update process for feed %d terminated with non-zero exit code: %d", $tline["id"], $exit_code)); + } ++$nf; } diff --git a/update.php b/update.php index d3ccdc236..c6af40715 100755 --- a/update.php +++ b/update.php @@ -260,12 +260,17 @@ if (isset($options["update-feed"])) { try { - RSSUtils::update_rss_feed($options["update-feed"], true); + + if (!RSSUtils::update_rss_feed($options["update-feed"], true)) + exit(100); + } catch (PDOException $e) { Debug::log(sprintf("Exception while updating feed %d: %s (%s:%d)", $options["update-feed"], $e->getMessage(), $e->getFile(), $e->getLine())); Logger::get()->log_error(E_USER_NOTICE, $e->getMessage(), $e->getFile(), $e->getLine(), $e->getTraceAsString()); + + exit(110); } }