vox / concurrent-futures
此包最新版本(0.1)没有提供许可证信息。
使用Python-like接口在Python上并行执行多个进程。
0.1
2018-05-31 04:45 UTC
Requires
- php: >=7.1
- arara/process: 1.10.0
Requires (Dev)
- phpunit/phpunit: ^7.1
This package is auto-updated.
Last update: 2024-09-30 02:16:15 UTC
README
此小型库受到Python的concurrent future模块的极大启发,试图以简单和健壮的方式抽象PHP的pcntl扩展。
要求
- php 7.1+
- pcntl
- cli SAPI
安装
$ composer require vox/concurrent-futures
用法
// start a pool with a maximum of permited child processes. //there will be a queue of runnable processes while the pool is full $pool = new ProcessPool(3); // map method return an array of future objects $futures = $pool->map(function ($number) { return $number; }, range(0, 2)); foreach ($futures as $future) { // a future object carries the result from the callable, it may throw an exception in case the callable has thrown one $result = $future->result(); } // instead of map, one can submit callables one by one, and manipulate the resulting future object $future = $pool->submit(function ($number) { return $number; }); $result = $future->result();