Swoole\Process\ProcessManager::__construct

Declaration

<?php
Swoole\Process\ProcessManager::__construct (int $ipcType = SWOOLE_IPC_NONE, int $msgQueueKey = 0)

Parameters

ipcType

SWOOLE_IPC_NONE: disable IPC. SWOOLE_IPC_MSGQUEUE: use system msg queue for IPC, for adding new task message into the worker pool. SWOOLE_IPC_SOCKET: use Socket for IPC.

msgQueueKey

The message queue key when using system msg queue.

Return

Description

Create a process manager. You can add multiple function into the process manager and execute them in multiple worker processes.

Example

<?php
$pm = new Swoole\Process\ProcessManager();
$atomic = new Atomic(0);
$pm->add(function (Pool $pool, int $workerId) use ($atomic) {
    usleep(100000);
    $atomic->wakeup();
});
$pm->add(function (Pool $pool, int $workerId) use ($atomic) {
    $atomic->wait(1.5);
    $pool->shutdown();
});
$pm->start();