From: Andrew Dolgov Date: Mon, 29 May 2017 20:14:42 +0000 (+0300) Subject: tunables: X-Git-Tag: 17.12~176 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=6fd03996949f32f51bf5ba55bf50d10d1521f22d;p=tt-rss.git tunables: * add CACHE_MAX_DAYS as a tunable generic expiry interval for various cached files * add some comments to tunables in functions.php * rename _MIN_CACHE_FILE_SIZE to MIN_CACHE_FILE_SIZE * respect MIN_CACHE_FILE_SIZE setting in a few more places where content is cached --- diff --git a/classes/rssutils.php b/classes/rssutils.php index e6fe3959..b882b872 100644 --- a/classes/rssutils.php +++ b/classes/rssutils.php @@ -1152,7 +1152,7 @@ class RSSUtils { if (!file_exists($local_filename)) { $file_content = fetch_file_contents($src); - if ($file_content && strlen($file_content) > _MIN_CACHE_FILE_SIZE) { + if ($file_content && strlen($file_content) > MIN_CACHE_FILE_SIZE) { file_put_contents($local_filename, $file_content); } } else { @@ -1186,7 +1186,7 @@ class RSSUtils { if (!file_exists($local_filename)) { $file_content = fetch_file_contents($src); - if ($file_content && strlen($file_content) > _MIN_CACHE_FILE_SIZE) { + if ($file_content && strlen($file_content) > MIN_CACHE_FILE_SIZE) { file_put_contents($local_filename, $file_content); } } else { @@ -1243,7 +1243,7 @@ class RSSUtils { if ($files) { foreach ($files as $file) { - if (time() - filemtime($file) > 86400*7) { + if (time() - filemtime($file) > 86400*CACHE_MAX_DAYS) { unlink($file); ++$num_deleted; diff --git a/include/functions.php b/include/functions.php index a664212b..6ea3e9ff 100644 --- a/include/functions.php +++ b/include/functions.php @@ -30,17 +30,12 @@ /** * Define a constant if not already defined - * - * @param string $name The constant name. - * @param mixed $value The constant value. - * @access public - * @return boolean True if defined successfully or not. */ function define_default($name, $value) { defined($name) or define($name, $value); } - ///// Some defaults that you can override in config.php ////// + /* Some tunables you can override in config.php using define(): */ define_default('FEED_FETCH_TIMEOUT', 45); // How may seconds to wait for response when requesting feed from a site @@ -52,12 +47,18 @@ define_default('FILE_FETCH_CONNECT_TIMEOUT', 15); // How many seconds to wait for initial response from website when // fetching files from remote sites - - // feed updating stuff define_default('DAEMON_UPDATE_LOGIN_LIMIT', 30); + // stop updating feeds if users haven't logged in for X days define_default('DAEMON_FEED_LIMIT', 500); + // feed limit for one update batch define_default('DAEMON_SLEEP_INTERVAL', 120); - define_default('_MIN_CACHE_FILE_SIZE', 1024); + // default sleep interval between feed updates (sec) + define_default('MIN_CACHE_FILE_SIZE', 1024); + // do not cache files smaller than that (bytes) + define_default('CACHE_MAX_DAYS', 7); + // max age in days for various automatically cached (temporary) files + + /* tunables end here */ if (DB_TYPE == "pgsql") { define('SUBSTRING_FOR_DATE', 'SUBSTRING_FOR_DATE'); diff --git a/plugins/af_zz_imgproxy/init.php b/plugins/af_zz_imgproxy/init.php index 7de0c022..870e12a0 100644 --- a/plugins/af_zz_imgproxy/init.php +++ b/plugins/af_zz_imgproxy/init.php @@ -69,7 +69,7 @@ class Af_Zz_ImgProxy extends Plugin { $disable_cache = $this->host->get($this, "disable_cache"); - if (!$disable_cache) { + if (!$disable_cache && strlen($data) > MIN_CACHE_FILE_SIZE) { if (file_put_contents($local_filename, $data)) { $mimetype = mime_content_type($local_filename); header("Content-type: $mimetype"); diff --git a/plugins/cache_starred_images/init.php b/plugins/cache_starred_images/init.php index 6c9e67b1..527e088d 100644 --- a/plugins/cache_starred_images/init.php +++ b/plugins/cache_starred_images/init.php @@ -209,7 +209,7 @@ class Cache_Starred_Images extends Plugin implements IHandler { if (!file_exists($local_filename)) { $file_content = fetch_file_contents($src); - if ($file_content && strlen($file_content) > 0) { + if ($file_content && strlen($file_content) > MIN_CACHE_FILE_SIZE) { file_put_contents($local_filename, $file_content); $success = true; }