task进程和woker进程的区别
来源:8-4 Websocket服务搭建并支持http服务
qq_吃羊的肉_0
2019-06-02
swoole中这两个有什么区别?我在测试时,woker_num和task_woker_num都设置了2,然后我发现在开启swoole服务时,绑定的onWorkerStart回调执行了四次。这两个有什么不一样吗
写回答
1回答
-
Lucar_陈
2020-03-31
这两个都是工作进程,你每个都设置了2,所以进到 onWorkerStart 事件$work_id总共就是4个
按照官方给的文档逻辑是:有一个master 进程,还有一个进程manager进程,worker是基于event触发,而task则是manager直接生成的子进程。(具体可以查看下面链接的最后一副图)
https://wiki.swoole.com/#/server/init?id=base%e6%a8%a1%e5%bc%8f%e7%9a%84%e9%80%82%e7%94%a8%e5%9c%ba%e6%99%af%ef%bc%9a
说的通俗点举例就是:worker 就是掌勺的大厨。而 task 就是小帮工,随时帮助 Worker大厨处理他交代的任务,让worker能专心完成他的主线工作。
00
相似问题