<?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']); ?>
|