swoole_server->addProcess

添加一个用户自定义的工作进程。

bool swoole_server->addProcess(swoole_process $process);

此函数通常用于创建一个特殊的工作进程,用于监控、上报或者其他特殊的任务。

子进程会托管到Manager进程,如果发生致命错误,manager进程会重新创建一个
子进程内不能使用swoole_server->task/taskwait接口
此函数在swoole-1.7.9以上版本可用

示例程序

$server = new swoole_server('127.0.0.1', 9501);

$process = new swoole_process(function($process) use ($server) {
    while (true) {
        $msg = $process->read();
        foreach($server->connections as $conn) {
            $server->send($conn, $msg);
        }
    }
});

$server->addProcess($process);

$server->on('receive', function ($serv, $fd, $from_id, $data) use ($process) {
    //群发收到的消息
    $process->write($data);
});

$server->start();