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
This commit is contained in:
Andrew Dolgov 2017-05-29 23:14:42 +03:00
parent 34a61a0c3c
commit 6fd0399694
4 changed files with 15 additions and 14 deletions

View File

@ -1152,7 +1152,7 @@ class RSSUtils {
if (!file_exists($local_filename)) { if (!file_exists($local_filename)) {
$file_content = fetch_file_contents($src); $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); file_put_contents($local_filename, $file_content);
} }
} else { } else {
@ -1186,7 +1186,7 @@ class RSSUtils {
if (!file_exists($local_filename)) { if (!file_exists($local_filename)) {
$file_content = fetch_file_contents($src); $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); file_put_contents($local_filename, $file_content);
} }
} else { } else {
@ -1243,7 +1243,7 @@ class RSSUtils {
if ($files) { if ($files) {
foreach ($files as $file) { foreach ($files as $file) {
if (time() - filemtime($file) > 86400*7) { if (time() - filemtime($file) > 86400*CACHE_MAX_DAYS) {
unlink($file); unlink($file);
++$num_deleted; ++$num_deleted;

View File

@ -30,17 +30,12 @@
/** /**
* Define a constant if not already defined * 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) { function define_default($name, $value) {
defined($name) or define($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); define_default('FEED_FETCH_TIMEOUT', 45);
// How may seconds to wait for response when requesting feed from a site // How may seconds to wait for response when requesting feed from a site
@ -52,12 +47,18 @@
define_default('FILE_FETCH_CONNECT_TIMEOUT', 15); define_default('FILE_FETCH_CONNECT_TIMEOUT', 15);
// How many seconds to wait for initial response from website when // How many seconds to wait for initial response from website when
// fetching files from remote sites // fetching files from remote sites
// feed updating stuff
define_default('DAEMON_UPDATE_LOGIN_LIMIT', 30); 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); define_default('DAEMON_FEED_LIMIT', 500);
// feed limit for one update batch
define_default('DAEMON_SLEEP_INTERVAL', 120); 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") { if (DB_TYPE == "pgsql") {
define('SUBSTRING_FOR_DATE', 'SUBSTRING_FOR_DATE'); define('SUBSTRING_FOR_DATE', 'SUBSTRING_FOR_DATE');

View File

@ -69,7 +69,7 @@ class Af_Zz_ImgProxy extends Plugin {
$disable_cache = $this->host->get($this, "disable_cache"); $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)) { if (file_put_contents($local_filename, $data)) {
$mimetype = mime_content_type($local_filename); $mimetype = mime_content_type($local_filename);
header("Content-type: $mimetype"); header("Content-type: $mimetype");

View File

@ -209,7 +209,7 @@ class Cache_Starred_Images extends Plugin implements IHandler {
if (!file_exists($local_filename)) { if (!file_exists($local_filename)) {
$file_content = fetch_file_contents($src); $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); file_put_contents($local_filename, $file_content);
$success = true; $success = true;
} }