silverstripe-terraformers / doorman-process-manager
子进程管理
3.0.4
2020-05-07 01:31 UTC
Requires
- php: >=5.5.9
- jeremeamia/superclosure: ^2.0
Requires (Dev)
- phpunit/phpunit: ^4.7
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 工作。