Remove 'maxloadavg_frontend' restriction in Friendica
This commit is contained in:
parent
c2b5eb2838
commit
62bacbb833
6 changed files with 5 additions and 37 deletions
|
@ -588,14 +588,6 @@ class App
|
||||||
throw new HTTPException\InternalServerErrorException('Apologies but the website is unavailable at the moment.');
|
throw new HTTPException\InternalServerErrorException('Apologies but the website is unavailable at the moment.');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Max Load Average reached: ERROR
|
|
||||||
if ($this->system->isMaxProcessesReached() || $this->system->isMaxLoadReached()) {
|
|
||||||
header('Retry-After: 120');
|
|
||||||
header('Refresh: 120; url=' . $this->baseURL->get() . "/" . $this->args->getQueryString());
|
|
||||||
|
|
||||||
throw new HTTPException\ServiceUnavailableException('The node is currently overloaded. Please try again later.');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$this->mode->isInstall()) {
|
if (!$this->mode->isInstall()) {
|
||||||
// Force SSL redirection
|
// Force SSL redirection
|
||||||
if ($this->baseURL->checkRedirectHttps()) {
|
if ($this->baseURL->checkRedirectHttps()) {
|
||||||
|
|
|
@ -42,11 +42,6 @@ class System
|
||||||
*/
|
*/
|
||||||
private $logger;
|
private $logger;
|
||||||
|
|
||||||
/**
|
|
||||||
* @var App\Mode
|
|
||||||
*/
|
|
||||||
private $mode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var IManageConfigValues
|
* @var IManageConfigValues
|
||||||
*/
|
*/
|
||||||
|
@ -57,10 +52,9 @@ class System
|
||||||
*/
|
*/
|
||||||
private $basePath;
|
private $basePath;
|
||||||
|
|
||||||
public function __construct(LoggerInterface $logger, App\Mode $mode, IManageConfigValues $config, string $basepath)
|
public function __construct(LoggerInterface $logger, IManageConfigValues $config, string $basepath)
|
||||||
{
|
{
|
||||||
$this->logger = $logger;
|
$this->logger = $logger;
|
||||||
$this->mode = $mode;
|
|
||||||
$this->config = $config;
|
$this->config = $config;
|
||||||
$this->basePath = $basepath;
|
$this->basePath = $basepath;
|
||||||
}
|
}
|
||||||
|
@ -156,24 +150,15 @@ class System
|
||||||
*/
|
*/
|
||||||
public function isMaxLoadReached(): bool
|
public function isMaxLoadReached(): bool
|
||||||
{
|
{
|
||||||
if ($this->mode->isBackend()) {
|
$maxsysload = intval($this->config->get('system', 'maxloadavg'));
|
||||||
$process = 'backend';
|
if ($maxsysload < 1) {
|
||||||
$maxsysload = intval($this->config->get('system', 'maxloadavg'));
|
$maxsysload = 50;
|
||||||
if ($maxsysload < 1) {
|
|
||||||
$maxsysload = 50;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$process = 'frontend';
|
|
||||||
$maxsysload = intval($this->config->get('system', 'maxloadavg_frontend'));
|
|
||||||
if ($maxsysload < 1) {
|
|
||||||
$maxsysload = 50;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$load = System::currentLoad();
|
$load = System::currentLoad();
|
||||||
if ($load) {
|
if ($load) {
|
||||||
if (intval($load) > $maxsysload) {
|
if (intval($load) > $maxsysload) {
|
||||||
$this->logger->warning('system load for process too high.', ['load' => $load, 'process' => $process, 'maxsysload' => $maxsysload]);
|
$this->logger->warning('system load for process too high.', ['load' => $load, 'process' => 'backend', 'maxsysload' => $maxsysload]);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -177,7 +177,6 @@ class Site extends BaseAdmin
|
||||||
$proxy = (!empty($_POST['proxy']) ? Strings::escapeTags(trim($_POST['proxy'])) : '');
|
$proxy = (!empty($_POST['proxy']) ? Strings::escapeTags(trim($_POST['proxy'])) : '');
|
||||||
$timeout = (!empty($_POST['timeout']) ? intval(trim($_POST['timeout'])) : 60);
|
$timeout = (!empty($_POST['timeout']) ? intval(trim($_POST['timeout'])) : 60);
|
||||||
$maxloadavg = (!empty($_POST['maxloadavg']) ? intval(trim($_POST['maxloadavg'])) : 20);
|
$maxloadavg = (!empty($_POST['maxloadavg']) ? intval(trim($_POST['maxloadavg'])) : 20);
|
||||||
$maxloadavg_frontend = (!empty($_POST['maxloadavg_frontend']) ? intval(trim($_POST['maxloadavg_frontend'])) : 50);
|
|
||||||
$min_memory = (!empty($_POST['min_memory']) ? intval(trim($_POST['min_memory'])) : 0);
|
$min_memory = (!empty($_POST['min_memory']) ? intval(trim($_POST['min_memory'])) : 0);
|
||||||
$optimize_tables = (!empty($_POST['optimize_tables']) ? intval(trim($_POST['optimize_tables'])) : false);
|
$optimize_tables = (!empty($_POST['optimize_tables']) ? intval(trim($_POST['optimize_tables'])) : false);
|
||||||
$contact_discovery = (!empty($_POST['contact_discovery']) ? intval(trim($_POST['contact_discovery'])) : Contact\Relation::DISCOVERY_NONE);
|
$contact_discovery = (!empty($_POST['contact_discovery']) ? intval(trim($_POST['contact_discovery'])) : Contact\Relation::DISCOVERY_NONE);
|
||||||
|
@ -264,7 +263,6 @@ class Site extends BaseAdmin
|
||||||
}
|
}
|
||||||
DI::config()->set('system', 'ssl_policy' , $ssl_policy);
|
DI::config()->set('system', 'ssl_policy' , $ssl_policy);
|
||||||
DI::config()->set('system', 'maxloadavg' , $maxloadavg);
|
DI::config()->set('system', 'maxloadavg' , $maxloadavg);
|
||||||
DI::config()->set('system', 'maxloadavg_frontend' , $maxloadavg_frontend);
|
|
||||||
DI::config()->set('system', 'min_memory' , $min_memory);
|
DI::config()->set('system', 'min_memory' , $min_memory);
|
||||||
DI::config()->set('system', 'optimize_tables' , $optimize_tables);
|
DI::config()->set('system', 'optimize_tables' , $optimize_tables);
|
||||||
DI::config()->set('system', 'contact_discovery' , $contact_discovery);
|
DI::config()->set('system', 'contact_discovery' , $contact_discovery);
|
||||||
|
@ -576,7 +574,6 @@ class Site extends BaseAdmin
|
||||||
'$proxy' => ['proxy', DI::l10n()->t('Proxy URL'), DI::config()->get('system', 'proxy'), ''],
|
'$proxy' => ['proxy', DI::l10n()->t('Proxy URL'), DI::config()->get('system', 'proxy'), ''],
|
||||||
'$timeout' => ['timeout', DI::l10n()->t('Network timeout'), DI::config()->get('system', 'curl_timeout'), DI::l10n()->t('Value is in seconds. Set to 0 for unlimited (not recommended).')],
|
'$timeout' => ['timeout', DI::l10n()->t('Network timeout'), DI::config()->get('system', 'curl_timeout'), DI::l10n()->t('Value is in seconds. Set to 0 for unlimited (not recommended).')],
|
||||||
'$maxloadavg' => ['maxloadavg', DI::l10n()->t('Maximum Load Average'), DI::config()->get('system', 'maxloadavg'), DI::l10n()->t('Maximum system load before delivery and poll processes are deferred - default %d.', 20)],
|
'$maxloadavg' => ['maxloadavg', DI::l10n()->t('Maximum Load Average'), DI::config()->get('system', 'maxloadavg'), DI::l10n()->t('Maximum system load before delivery and poll processes are deferred - default %d.', 20)],
|
||||||
'$maxloadavg_frontend' => ['maxloadavg_frontend', DI::l10n()->t('Maximum Load Average (Frontend)'), DI::config()->get('system', 'maxloadavg_frontend'), DI::l10n()->t('Maximum system load before the frontend quits service - default 50.')],
|
|
||||||
'$min_memory' => ['min_memory', DI::l10n()->t('Minimal Memory'), DI::config()->get('system', 'min_memory'), DI::l10n()->t('Minimal free memory in MB for the worker. Needs access to /proc/meminfo - default 0 (deactivated).')],
|
'$min_memory' => ['min_memory', DI::l10n()->t('Minimal Memory'), DI::config()->get('system', 'min_memory'), DI::l10n()->t('Minimal free memory in MB for the worker. Needs access to /proc/meminfo - default 0 (deactivated).')],
|
||||||
'$optimize_tables' => ['optimize_tables', DI::l10n()->t('Periodically optimize tables'), DI::config()->get('system', 'optimize_tables'), DI::l10n()->t('Periodically optimize tables like the cache and the workerqueue')],
|
'$optimize_tables' => ['optimize_tables', DI::l10n()->t('Periodically optimize tables'), DI::config()->get('system', 'optimize_tables'), DI::l10n()->t('Periodically optimize tables like the cache and the workerqueue')],
|
||||||
|
|
||||||
|
|
|
@ -148,10 +148,6 @@ return [
|
||||||
// Maximum system load before delivery and poll processes are deferred.
|
// Maximum system load before delivery and poll processes are deferred.
|
||||||
'maxloadavg' => 20,
|
'maxloadavg' => 20,
|
||||||
|
|
||||||
// maxloadavg_frontend (Integer)
|
|
||||||
// Maximum system load before the frontend quits service - default 50.
|
|
||||||
'maxloadavg_frontend' => 50,
|
|
||||||
|
|
||||||
// min_memory (Integer)
|
// min_memory (Integer)
|
||||||
// Minimal free memory in MB for the worker. Needs access to /proc/meminfo - default 0 (deactivated).
|
// Minimal free memory in MB for the worker. Needs access to /proc/meminfo - default 0 (deactivated).
|
||||||
'min_memory' => 0,
|
'min_memory' => 0,
|
||||||
|
|
|
@ -91,7 +91,6 @@
|
||||||
{{include file="field_input.tpl" field=$proxy}}
|
{{include file="field_input.tpl" field=$proxy}}
|
||||||
{{include file="field_input.tpl" field=$proxyuser}}
|
{{include file="field_input.tpl" field=$proxyuser}}
|
||||||
{{include file="field_input.tpl" field=$timeout}}
|
{{include file="field_input.tpl" field=$timeout}}
|
||||||
{{include file="field_input.tpl" field=$maxloadavg_frontend}}
|
|
||||||
{{include file="field_input.tpl" field=$abandon_days}}
|
{{include file="field_input.tpl" field=$abandon_days}}
|
||||||
{{include file="field_input.tpl" field=$temppath}}
|
{{include file="field_input.tpl" field=$temppath}}
|
||||||
{{include file="field_checkbox.tpl" field=$suppress_tags}}
|
{{include file="field_checkbox.tpl" field=$suppress_tags}}
|
||||||
|
|
|
@ -190,7 +190,6 @@
|
||||||
{{include file="field_input.tpl" field=$proxy}}
|
{{include file="field_input.tpl" field=$proxy}}
|
||||||
{{include file="field_input.tpl" field=$proxyuser}}
|
{{include file="field_input.tpl" field=$proxyuser}}
|
||||||
{{include file="field_input.tpl" field=$timeout}}
|
{{include file="field_input.tpl" field=$timeout}}
|
||||||
{{include file="field_input.tpl" field=$maxloadavg_frontend}}
|
|
||||||
{{include file="field_input.tpl" field=$abandon_days}}
|
{{include file="field_input.tpl" field=$abandon_days}}
|
||||||
{{include file="field_input.tpl" field=$temppath}}
|
{{include file="field_input.tpl" field=$temppath}}
|
||||||
{{include file="field_checkbox.tpl" field=$suppress_tags}}
|
{{include file="field_checkbox.tpl" field=$suppress_tags}}
|
||||||
|
|
Loading…
Reference in a new issue