当前位置:首页 > PHP > 正文内容

swoole中的worker_num和task_worker_num

高老师7年前 (2019-05-05)PHP3691

(1)swoole启动的主进程是master进程负责全局管理,然后master进程会再fork一个manager进程。

(2)manager进程开始统一管理进程创建回收管理。

(3)manager进程根据设置的worker_num和task_worker_num来创建work进程和task进程

因此启动swoole我们能看到的进程数是:2+worker_num+task_worker_num,2中包含manager进程master进程

worker_num是用来处理请求逻辑的进程数,task_num是异步任务投递进程,专门处理异步任务的执行

例如下面的代码:

<?php
//构建Server对象
$server = new swoole_server("127.0.0.1", 9503);

//设置worker进程4个
$server->set([
    'worker_num' => 2,
    'task_worker_num' => 2,
    'daemonize' => false,
]);

//设置客户端连接回调
$server->on('connect', function ($server, $fd) {
});

$server->on('receive', function ($server, $fd, $reactor_id, $data) {
});

//设置客户端关闭回调
$server->on('close', function ($server, $fd) {
});

//设置Task回调
$server->on('Task', function ($serv) {
});

//启动服务器
$server->start();

查看进程:

gao       3429  0.0  0.2 238888 21460 tty1     Sl   11:26   0:00 php /mnt/d/wwwroot/todo/index.php
gao       3430  0.0  0.0  92684  3204 tty1     S    11:26   0:00 php /mnt/d/wwwroot/todo/index.php
gao       3433  0.0  0.0  88260  3364 tty1     S    11:26   0:00 php /mnt/d/wwwroot/todo/index.php
gao       3434  0.0  0.0  88260  3384 tty1     S    11:26   0:00 php /mnt/d/wwwroot/todo/index.php
gao       3435  0.0  0.0  88676  3524 tty1     S    11:26   0:00 php /mnt/d/wwwroot/todo/index.php
gao       3436  0.0  0.0  88676  3552 tty1     S    11:26   0:00 php /mnt/d/wwwroot/todo/index.php

还可以通过swoole提供的$server->manager_pid和$server->master_pid排除测试

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/89.html

分享给朋友:

“swoole中的worker_num和task_worker_num” 的相关文章

php将html转为pdf,php将html页面导出pdf

php将html转为pdf,php将html页面导出pdf

首先下载wkhtmltox-0.12.4_linux-generic-amd64.tar.xz   (不要下载RPM包,依赖太多,需要x-server支持),并解压,执行测试运行正常tar wkhtmltox-0.12.4_linux-generic-amd64.tar.xzcd...

php抽奖概率算法

php抽奖概率算法

<?php /*  *算法学习自百度.只是学习和记录  */ header("Content-type:text/html;charset=utf-8"); //1.设置奖项,id是奖项id,name是中奖名称,v是中奖概率 $arr =&n...

php 经纬度获取城市,php 经纬度转城市

php 经纬度获取城市,php 经纬度转城市

通过经纬度转换为城市名称,并获得城市的编号,通常在全国类型的商城中比较通用。//经纬度转城市名称(返回城市id,城市名称) //$ak开发密钥,$lat纬度,$lng经度,$type返回数据类型 public function getCityName($ak,$lat,$lng)...

php  RabbitMQ消息队列

php RabbitMQ消息队列

(1).config.php 配置文件<?php /**  * RabbitMQ_Config  */ $config = [     'host' => ...

PHP yield  PHP协程,PHP协程用法学习

PHP yield PHP协程,PHP协程用法学习

【一】.迭代器迭代是指反复执行一个过程,每执行一次叫做一次迭代。比如下面的代码就叫做迭代:1.  <?php   2.  $data = ['1', '2', &...

php代理下载,php代下载文件,php下载远程文件,php远程文件下载

php代理下载,php代下载文件,php下载远程文件,php远程文件下载

经常我们下载国外资源容易被墙,可以通过php脚本获取远程文件流然后输出给我们的浏览器来下载。<?php //设置下载文件的url $url = 'https://mirrors.huaweicloud.com/ubuntukylin/ubuntukylin-19....