easyswoole中onworkerstart和addprocess的关系?

           $register->add($register::onWorkerStart, function (\swoole_server $server, int $workerId) {
               
               var_dump('worker:' . $workerId . 'start');
           });
           Di::getInstance()->set("REDIS",Redis::getInstance());
        
           $allNum = 10;
           for ($i = 0 ;$i < $allNum;$i++){
               ServerManager::getInstance()->getSwooleServer()->addProcess((new Consumer("consumer_{$i}"))->getProcess());
           }

他们之间是什么关系

onworkerstart和addprocess 是什么关系呢

onworkerstart 开启后可以显示8个worker
clipboard.png
其中4个worker_num和4个task_worker_num

MAIN_SERVER.SETTING.worker_num = 4
MAIN_SERVER.SETTING.max_request = 5000
MAIN_SERVER.SETTING.task_worker_num = 4

添加的进程跟这个worker之间是什么关系呢 ?

阅读 2k
1 个回答

自定义进程虽然会托管到 Manager 进程,但是和 worker 相比是较为独立的进程,执行自定义功能。onWorkerStart 只有在
worker 进程和 task 进程启动时执行,所以看到是 8 个输出

onWorkerStart
Server->addProcess

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题