$worker->count=1,on之类的代码也是在子进程中运行吧?

klyz505

$worker->count=1,on之类的代码也是在子进程中运行吧?

use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('websocket://0.0.0.0:8484');
$worker->count = 1;// 这里只有1个进程
$worker->onWorkerStart = function($worker){};
$worker->onConnect = function(TcpConnection $connection){};
$worker->onMessage = function(TcpConnection $connection, $data){};
$worker->onClose = function(TcpConnection $connection){};
$worker->onError = function(TcpConnection $connection, $code, $msg){};
// 运行worker
Worker::runAll();

当 $worker->count = 1 时,workerman是不是仍然会启动 1个主进程、1个子进程 ?
主进程 管理 子进程(包括守护子进程之类),而 onWorkerStart、onConnect、onMessage、onClose、onError 等是在子进程里运算的?

484 1 0
1个回答

liziyu

可以设置Worker实例的进程数(count属性),Worker主进程会fork出count个子进程同时监听相同的端口,并行的接收客户端连接,处理连接上的事件。

按这意思,count是子进程数量。

年代过于久远,无法发表回答
🔝