asyncphp/doorman

子进程管理

4.0.0 2023-03-30 00:40 UTC

README

CI

子进程管理。与PHP 5.3到PHP 7兼容。无需扩展。

2.x版本支持PHP 5.5.9及以上。如果您需要PHP 5.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工作与我交流。