若转载教程,请注明出自SW-X框架官方文档

Swoole进程模型、第2层:Manager管理进程

Swoole运行中会创建一个单独的管理进程,所有的Worker进程和Task进程都是从管理进程fork创建出来的。
Manager管理进程会监听所有子进程的退出事件,当Worker进程发生致命错误或运行生命周期结束时,Manager管理进程会回收此进程并创建新的进程。
Manager管理进程还可以平滑地重启所有工作进程Worker,以实现程序代码的重新加载。
Manager管理进程管理着Worker工作进程或Task任务进程,Worker工作进程或Task任务进程都被Manager管理进程fork创建并管理着。
Manager进程负责创建和管理下层的Worker进程组和Task进程组,Manager进程中不会运行任何用户层面的业务逻辑,仅仅只做进程的管理和分配。
Manager进程会fork创建出指定数量的Worker进程和Task进程。
Manager进程的工作职责:

  1. Worker工作进程和Task任务进程都是由Manager管理进程fork创建并管理的
  2. 子进程结束运行时,Manager管理进程负责回收子进程,以避免成为僵尸进程,并创建新的子进程。
  3. 服务器关闭时,Manager管理进程发送信号给所有子进程,并通知子进程关闭服务。
  4. 服务器重启时,Manager管理进程会逐个关闭或重启子进程。

Manager进程内的回调函数:

  1. onManagerStart 当管理进程启动时调用
  2. onManagerStop 当管理进程结束时调用
  3. onWorkerError Worker进程或Task进程发生异常后会在Manager进程会回调此函数