| 
<?php/*
 * throttle_heavy_program.php
 *
 * @(#) $Id: throttle_heavy_program.php,v 1.1 2010/10/25 06:04:01 mlemos Exp $
 *
 */
 
 require('system_monitor.php');
 
 function stopped($arguments)
 {
 echo 'Process stopped due to cause '.$arguments['Cause'],"\n";
 return true;
 }
 
 function continued($arguments)
 {
 echo 'Process continued',"\n";
 return true;
 }
 
 $monitor = new system_monitor_class;
 $monitor->cpu_load_limit = 2;
 $monitor->temporary_directory = '/tmp/';
 $command = 'php -q heavy_program.php';
 $parameters = array(
 'Command' => $command,
 'PollInterval'=>5,
 'OnStop' => 'stopped',
 'OnContinue' => 'continued',
 'CaptureOutput'=>'array',
 );
 if(!$monitor->ThrottleExecute($parameters))
 {
 echo 'Could not execute the heavy process: '.$monitor->error."\n";
 exit;
 }
 var_dump($parameters['Status'], $parameters['Output']);
 ?>
 |