<?php
// Include PowerProcess require_once '../PowerProcess.class.php';
// Instance new PowerProcess class with 2 threads, 10 second timeout, // standalone, log to STDOUT and include debug logging // Since we have a 10 second timeout, the last five threads will be // terminated by PowerProcess $pp = new PowerProcess(2,10,false,'php://stdout',true);
// Make some fake data $data = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
// Start the control loop while ($pp->RunControlCode()) { // Check if we have data to process if (count($data) > 0) { // We have data to process if ($pp->SpawnReady()) { // Assign the thread data $pp->threadData = array_shift($data); // Try to spawn the thread if (!$pp->SpawnThread()) { $pp->Log("Error spawning thread"); // Sleep just in case sleep(1); // Add the data back to the queue $data[] = $pp->threadData; } } } else { // No more data to process - shutdown $pp->Shutdown(true); } }
// Start the thread code
$pp->Log("Processing: {$pp->threadData}"); for ($i = 0; $i < $pp->threadData; $i++) { sleep(1); $pp->Log("Processed to {$i}"); } // Exit thread exit(0);
?>
|