From db3e67b3fe94f3752b6ff5af61703d1b60b5fcb5 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 18 Jun 2024 21:47:05 +0300 Subject: * pass arbitrary CLI arguments to update daemon via updater.sh entrypoint * add configurable log level for update daemon (DAEMON_LOG_LEVEL) * when daemon log level is set to LOG_EXTENDED (2) log queries for feed update selection --- .docker/app/updater.sh | 2 +- classes/Config.php | 4 ++++ classes/RSSUtils.php | 4 ++-- update_daemon2.php | 12 ++++++++---- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.docker/app/updater.sh b/.docker/app/updater.sh index ab0de0bce..5fdddd1d1 100644 --- a/.docker/app/updater.sh +++ b/.docker/app/updater.sh @@ -30,4 +30,4 @@ while [ ! -s $DST_DIR/config.php -a -e $DST_DIR/.app_is_ready ]; do sleep 3 done -sudo -E -u app /usr/bin/php83 /var/www/html/tt-rss/update_daemon2.php +sudo -E -u app /usr/bin/php83 /var/www/html/tt-rss/update_daemon2.php "$@" diff --git a/classes/Config.php b/classes/Config.php index e6e19ba09..dff991463 100644 --- a/classes/Config.php +++ b/classes/Config.php @@ -121,6 +121,9 @@ class Config { /** max concurrent update jobs forking update daemon starts */ const DAEMON_MAX_JOBS = "DAEMON_MAX_JOBS"; + /** log level for update daemon */ + const DAEMON_LOG_LEVEL = "DAEMON_LOG_LEVEL"; + /** How long to wait for response when requesting feed from a site (seconds) */ const FEED_FETCH_TIMEOUT = "FEED_FETCH_TIMEOUT"; @@ -229,6 +232,7 @@ class Config { Config::T_STRING ], Config::DAEMON_MAX_CHILD_RUNTIME => [ 1800, Config::T_INT ], Config::DAEMON_MAX_JOBS => [ 2, Config::T_INT ], + Config::DAEMON_LOG_LEVEL => [ Debug::LOG_NORMAL, Config::T_INT ], Config::FEED_FETCH_TIMEOUT => [ 45, Config::T_INT ], Config::FEED_FETCH_NO_CACHE_TIMEOUT => [ 15, Config::T_INT ], Config::FILE_FETCH_TIMEOUT => [ 45, Config::T_INT ], diff --git a/classes/RSSUtils.php b/classes/RSSUtils.php index 68cbfd26a..7a50626fd 100644 --- a/classes/RSSUtils.php +++ b/classes/RSSUtils.php @@ -148,7 +148,7 @@ class RSSUtils { $updstart_thresh_qpart $query_order $query_limit"; - //print "$query\n"; + Debug::log("base feed query: $query", Debug::LOG_EXTENDED); $res = $pdo->query($query); @@ -189,7 +189,7 @@ class RSSUtils { $update_limit_qpart ORDER BY f.id $query_limit"; - //print "$user_query\n"; + Debug::log("per-user feed query: $user_query", Debug::LOG_EXTENDED); // since we have feed xml cached, we can deal with other feeds with the same url $usth = $pdo->prepare($user_query); diff --git a/update_daemon2.php b/update_daemon2.php index 27b066db0..4d80bed0a 100755 --- a/update_daemon2.php +++ b/update_daemon2.php @@ -133,7 +133,7 @@ print "Tiny Tiny RSS update daemon.\n\n"; print "Options:\n"; print " --log FILE - log messages to FILE\n"; - print " --log-level N - log verbosity level\n"; + print " --log-level N - log verbosity level\n"; print " --tasks N - amount of update tasks to spawn\n"; print " default: " . Config::get(Config::DAEMON_MAX_JOBS) . "\n"; print " --interval N - task spawn interval\n"; @@ -144,9 +144,13 @@ Debug::set_enabled(true); + $log_level = Debug::map_loglevel(Config::get(Config::DAEMON_LOG_LEVEL)); + if (isset($options["log-level"])) { - Debug::set_loglevel(Debug::map_loglevel((int)$options["log-level"])); - } + $log_level = Debug::map_loglevel((int)$options["log-level"]); + } + + Debug::set_loglevel((int) $log_level); if (isset($options["log"])) { Debug::set_quiet(isset($options['quiet'])); @@ -246,7 +250,7 @@ $my_pid = posix_getpid(); - passthru(Config::get(Config::PHP_EXECUTABLE) . " update.php --daemon-loop $quiet $log --task $j --pidlock $my_pid"); + passthru(Config::get(Config::PHP_EXECUTABLE) . " update.php --daemon-loop $quiet $log --log-level $log_level --task $j --pidlock $my_pid"); sleep(1); -- cgit v1.2.3