diff options
author | friendica <info@friendica.com> | 2012-05-03 21:50:48 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-05-03 21:50:48 -0700 |
commit | 421acee65b846947c24257f256c900d4881256da (patch) | |
tree | 51501745f8456cddb70a8a708480c41b6543fb7e /include/delivery.php | |
parent | 15542a8690701b403ed7e7bf56d82d1511cfbd63 (diff) | |
download | volse-hubzilla-421acee65b846947c24257f256c900d4881256da.tar.gz volse-hubzilla-421acee65b846947c24257f256c900d4881256da.tar.bz2 volse-hubzilla-421acee65b846947c24257f256c900d4881256da.zip |
implement max load average before queuing/deferring delivery and poller processes
Diffstat (limited to 'include/delivery.php')
-rw-r--r-- | include/delivery.php | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/delivery.php b/include/delivery.php index 794b8f27a..28d81226a 100644 --- a/include/delivery.php +++ b/include/delivery.php @@ -51,6 +51,17 @@ function delivery_run($argv, $argc){ return; } + $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. Delivery deferred to next queue run.'); + return; + } + } + // It's ours to deliver. Remove it from the queue. q("delete from deliverq where cmd = '%s' and item = %d and contact = %d limit 1", |