swoole进程模型

PHP   Swoole  

swoole 的进程模型是 master - manager - worker

  1. <?php
  2. declare(strict_types = 1);
  3. $server = new swoole_server('0.0.0.0', 9501);
  4. $server->set([
  5. 'worker_num' => 2,
  6. 'task_worker_num' => 1,
  7. ]);
  8. $server->on('Connect', function ($server, $fd) {
  9. });
  10. $server->on('Receive', function ($server, $fd, $fromId, $data) {
  11. });
  12. $server->on('Close', function ($server, $fd) {
  13. });
  14. $server->on('Task', function ($server, $taskId, $fromId, $data) {
  15. });
  16. $server->on('Finish', function ($server, $taskId, $data) {
  17. });
  18. $server->start();

从上图可以看到,运行了一个swoole服务端,却开启了5个进程,一个master、一个manager、两个我们自己设置的 worker、一个我们自己设置的 task 进程。

为了确定是我们想的这样,我们需要了解以下回调函数。

  1. Master进程:
  2. 启动:onStart
  3. 关闭:onShutdown
  4. Manager进程:
  5. 启动:onManagerStart
  6. 关闭:onManagerStop
  7. Worker进程:
  8. 启动:onWorkerStart
  9. 关闭:onWorkerStop

 

 



Top