gemorroj / process-pool
PHP Process Pool (Using symfony process)
dev-master
2026-10-15 10:08 UTC
Requires
- php: >=8.4
- symfony/event-dispatcher: ^7.4||^8.0
- symfony/process: ^7.4||^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.95
- phpstan/phpstan: ^2.3
- phpstan/phpstan-symfony: ^2.1
- phpunit/phpunit: ^12.5||^13
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-15 10:08:32 UTC
README
PHP Process Pool is a simple process pool using Symfony Process
System requirements:
- PHP >= 8.4
- proc_open
Installation:
composer require gemorroj/process-pool
Example:
use ProcessPool\ProcessPool; use Symfony\Component\Process\Process; function processGenerator(): \Generator { for ($i = 0; $i < 10; $i++) { yield new Process(['sleep', $i]); } } $pool = new ProcessPool(processGenerator()); $pool->wait(); // run all processes and wait for completion
run() is a streaming alternative to wait(): it yields a ProcessFinished
event as soon as each process finishes.
foreach ($pool->run() as $event) { echo $event->getProcess()->getOutput(); }