centraldesktop / parallel
轻松支持最多进程数的分支
0.9.6
2016-09-12 20:14 UTC
Requires
- php: >=5.3.6
- ext-pcntl: *
- ext-posix: *
- psr/log: ~1.0
Requires (Dev)
- monolog/monolog: >=1.4.1
- pdepend/pdepend: 1.1.0
- phpmd/phpmd: 1.4.*
- phpunit/phpunit: >=3.7.0
- squizlabs/php_codesniffer: 1.4.5
This package is not auto-updated.
Last update: 2024-09-14 13:07:43 UTC
README
一个简单易用、简单的库,用于通过简单的进程分支进行并行处理。
所有荣誉都应该归功于 Perl 的 (CPAN) Parallel::ForkManager 的出色维护者,我使用了大约 10 年。
使用方法
将此包添加到您的 composer 依赖项中。
use CentralDesktop\Parallel\ForkManager;
// 创建一个对象,限制为总并发进程数。
您必须声明(ticks = 1);以便在 PHP 中正确处理信号。
$fm = new ForkManager(10); $fm->start();
while ($fm->alive()) { if ($fm->start()) { continue; }
执行某些操作();
$fm->stop(); } $fm->shutdown_all();
您可能想要通过安装信号处理器来处理特定的信号。
$fm->set_parent_sighandler(array($this, 'parent_signal_handler'));
$fm->set_child_sighandler(array($this, 'child_signal_handler'));