silverstripe-terraformers/doorman-process-manager

3.0.4 2020-05-07 01:31 UTC

This package is auto-updated.

Last update: 2024-09-07 10:59:57 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 工作