spencer-mortensen / parallel-processor
Run many pieces of code at once, and act on the results as they arrive
3.1.2
2018-06-27 22:51 UTC
Requires
- php: >=5.3.0
- spencer-mortensen/autoloader: ~1.0
- spencer-mortensen/exceptions: ~3.0
README
The "parallel-processor" is a PHP library that lets you run many pieces of code at once--and the act on the results as they arrive.
Here's an example:
$processor = new ForkProcessor(); $t0 = microtime(true); $processor->start(new SleepJob(2, $results[])); $processor->start(new SleepJob(3, $results[])); $processor->start(new SleepJob(1, $results[])); $processor->finish(); $t1 = microtime(true); echo implode("\n", $results), "\n"; echo "\nTotal time: ", $t1 - $t0, " seconds\n";
Here's the output:
Slept for 2 seconds.
Slept for 3 seconds.
Slept for 1 seconds.
Total time: 3.0033020973206 seconds
You can include this library through Composer:
composer require spencer-mortensen/parallel-processor:~2.0