Есть скрипт, который запускается по крону и что-то там делает, например расылка уведомлений или чистка и упаковка базы банных. Это "что-то" не срочное и, когда у сервера высокая загрузка, то лучше эту работу отложить до лучших времен. Соответственно нужно получить в PHP загруженность сервера.
Пример определения загрузки сервера на PHP:
16:11:15 up 91 days, 18:46, 0 users, load average: 0.18, 0.19, 0.14<?php
$loadLimit = 5; // Значение load average, больше которого выполняться не нужно
$uptime = exec('uptime');
echo $uptime;
if(preg_match('!load average: ([\d\.]+), [\d\.]+, [\d\.]+!si', $uptime, $cpu)) {
if((float)str_replace(',', '.', $cpu[1]) > $loadLimit) {
echo '<h4>Высокая нагрузка сервера!</h4>';
die('Высокая нагрузка сервера');
}else
echo '<h4>Низкая нагрузка сервера!</h4>';
}else echo '<h4>Не определил нагрузку сервера!</h4>';
//дальше делаем то,что хотелсь бы
?>Скопировать в буфер
При этом можно ориентироваться по первому значению, но, если сервер склонен к быстрым пиковым нагрузкам, то, вероятно, лучше использовать более долгосрочное второе значение.
© Copyright 2008-2012 by KDG