The system's load is now checked, when the cronhooks are started.

This commit is contained in:
Michael Vogel 2014-04-04 10:48:02 +02:00
parent 834e0ff778
commit 8bb81ff83d
1 changed files with 13 additions and 2 deletions

View File

@ -9,7 +9,7 @@ function cronhooks_run(&$argv, &$argc){
if(is_null($a)) { if(is_null($a)) {
$a = new App; $a = new App;
} }
if(is_null($db)) { if(is_null($db)) {
@include(".htconfig.php"); @include(".htconfig.php");
require_once("include/dba.php"); require_once("include/dba.php");
@ -24,6 +24,17 @@ function cronhooks_run(&$argv, &$argc){
load_config('config'); load_config('config');
load_config('system'); 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 . ' too high. Poller deferred to next scheduled run.');
return;
}
}
$lockpath = get_config('system','lockpath'); $lockpath = get_config('system','lockpath');
if ($lockpath != '') { if ($lockpath != '') {
$pidfile = new pidfile($lockpath, 'cron.lck'); $pidfile = new pidfile($lockpath, 'cron.lck');
@ -38,7 +49,7 @@ function cronhooks_run(&$argv, &$argc){
load_hooks(); load_hooks();
logger('cronhooks: start'); logger('cronhooks: start');
$d = datetime_convert(); $d = datetime_convert();