OpenSwoole\Core\Process\Manager->addbatch

Latest version: pecl install openswoole-22.0.0 | composer require openswoole/core:22.1.2

Declaration

<?php OpenSwoole\Core\Process\Manager->addBatch (int $workerNum, callable $func, bool $enableCoroutine = false)

Parameters

workerNum

How many processes to start to execute the function.

func

The function to be executed in the process.

enableCoroutine

If enable coroutine support within the process

Return

Description

Add multiple processes to execute the same function.

You have to install OpenSwoole core library with composer require openswoole/core to use this feature.

Example

<?php
$pm = new OpenSwoole\Core\Process\Manager();
$atomic = new Atomic(0);
$pm->addBatch(1, 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();
Last updated on February 8, 2023