asyncphp / doorman
子进程管理
4.0.0
2023-03-30 00:40 UTC
Requires
- php: ^8.1
- silverstripe/closure: ^3.6
Requires (Dev)
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.5
README
子进程管理。与PHP 5.3
到PHP 7
兼容。无需扩展。
2.x
版本支持PHP5.5.9
及以上。如果您需要PHP5.3/4
支持,请使用1.x
版本。
用法
use AsyncPHP\Doorman\Manager\ProcessManager; use AsyncPHP\Doorman\Task\ProcessCallbackTask; $task1 = new ProcessCallbackTask(function () { print "in task 1"; }); $task2 = new ProcessCallbackTask(function () { print "in task 2"; }); $manager = new ProcessManager(); $manager->addTask($task1); $manager->addTask($task2); while ($manager->tick()) { usleep(250); }
更多详细文档,请参考 docs/en。
想了解它是如何工作的,又不想深入代码?阅读这篇文章...
动机
有许多优秀的库与这个类似。它们通常需要额外的扩展。这个库旨在使子进程管理变得简单,并且能够得到广泛的支持。
其他执行类似功能的优秀库
版本控制
此库遵循Semver。根据Semver,您将能够升级到此库的任何次要或补丁版本,而无需对公共API进行任何破坏性更改。Semver还要求我们明确定义此库的公共API。
所有具有public
可见性的方法都是公共API的一部分。所有其他方法都不是公共API的一部分。尽可能保持protected
方法在次要/补丁版本中的向后兼容性,但如果您正在重写方法,请在升级前测试您的代码。
感谢
我要感谢SilverStripe允许我参与这样的有趣项目。欢迎您就使用框架和CMS或在SilverStripe工作与我交流。