From: Michael Vogel Date: Mon, 6 Apr 2015 11:30:22 +0000 (+0200) Subject: Merge remote-tracking branch 'upstream/develop' into 1503-load-issues X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=5e2c93e80cd804dca00e45e8f328a75923d57c36;hp=81901f39e5fd7652d45be9c09d56632e53d91fbe;p=friendica.git Merge remote-tracking branch 'upstream/develop' into 1503-load-issues --- diff --git a/include/cronhooks.php b/include/cronhooks.php index 3a09da48ce..26cab3cf92 100644 --- a/include/cronhooks.php +++ b/include/cronhooks.php @@ -30,7 +30,7 @@ function cronhooks_run(&$argv, &$argc){ if(function_exists('sys_getloadavg')) { $load = sys_getloadavg(); if(intval($load[0]) > $maxsysload) { - logger('system: load ' . $load . ' too high. Poller deferred to next scheduled run.'); + logger('system: load ' . $load[0] . ' too high. Cronhooks deferred to next scheduled run.'); return; } } diff --git a/include/delivery.php b/include/delivery.php index 1def8ad2cc..a913e13170 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -60,7 +60,7 @@ function delivery_run(&$argv, &$argc){ if(function_exists('sys_getloadavg')) { $load = sys_getloadavg(); if(intval($load[0]) > $maxsysload) { - logger('system: load ' . $load . ' too high. Delivery deferred to next queue run.'); + logger('system: load ' . $load[0] . ' too high. Delivery deferred to next queue run.'); return; } } diff --git a/include/poller.php b/include/poller.php index cef11a7443..933624ecb5 100644 --- a/include/poller.php +++ b/include/poller.php @@ -46,7 +46,7 @@ function poller_run(&$argv, &$argc){ if(function_exists('sys_getloadavg')) { $load = sys_getloadavg(); if(intval($load[0]) > $maxsysload) { - logger('system: load ' . $load . ' too high. Poller deferred to next scheduled run.'); + logger('system: load ' . $load[0] . ' too high. Poller deferred to next scheduled run.'); return; } } diff --git a/index.php b/index.php index a4a8624433..31af8868d7 100644 --- a/index.php +++ b/index.php @@ -53,6 +53,20 @@ if(!$install) { load_config('config'); load_config('system'); + $maxsysload = intval(get_config('system','maxloadavg')); + if($maxsysload < 1) + $maxsysload = 50; + if(function_exists('sys_getloadavg')) { + $load = sys_getloadavg(); + if(intval($load[0]) > $maxsysload) { + logger('system: load ' . $load[0] . ' too high. Service Temporarily Unavailable.'); + header($_SERVER["SERVER_PROTOCOL"].' 503 Service Temporarily Unavailable'); + header('Retry-After: 300'); + die("System is currently unavailable. Please try again later"); + } + } + + if (get_config('system','force_ssl') AND ($a->get_scheme() == "http") AND (intval(get_config('system','ssl_policy')) == SSL_POLICY_FULL) AND (substr($a->get_baseurl(), 0, 8) == "https://")) {