Swoole提供的进程管理器Process\Manage,基于 Process\Pool 实现。可以管理多个进程。相比与 Process\Pool,可以非常方便的创建多个执行不同任务的进程,并且可以控制每一个进程是否要处于协程环境。
注意:Swoole\Process\Manager只有在4.5.3及以上版本可用,如果碰到class not found错误的时候,检查一下自己当下的swoole版本。
示例:
use Swoole\Process\Manager;
use Swoole\Process\Pool;
$pm = new Manager();
for ($i = 0; $i < 2; $i++) {
$pm->add(function (Pool $pool, int $workerId) {
});
}
$pm->start();
成员函数
1) __construct():构造方法
Swoole\Process\Manager::__construct(int $ipcType = SWOOLE_IPC_NONE, int $msgQueueKey = 0);
$ipcType:进程间通信的模式,和 Process\Pool 的 $ipc_type 一致【默认为 0 表示不使用任何进程间通信特性】
$msgQueueKey:消息队列的 key,和 Process\Pool 的 $msgqueue_key 一致
2) setIPCType():设置工作进程之间的通信方式。
Swoole的进程管理器ProcessManager详解

Swoole的ProcessManager是基于ProcessPool实现的进程管理工具,支持创建并管理多个执行不同任务的进程,且能控制每个进程是否启用协程。此功能在Swoole4.5.3及以上版本可用。示例中展示了如何添加和启动工作进程,以及设置进程间通信方式和消息队列键。
最低0.47元/天 解锁文章
897

被折叠的 条评论
为什么被折叠?



