toan267/doorman

子进程管理

3.0.2 2019-08-19 06:41 UTC

This package is not auto-updated.

Last update: 2024-10-01 05:49:24 UTC


README

Build Status Code Quality Code Coverage Version License

子进程管理。兼容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工作