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进程的工作职责:
Worker工作进程和Task任务进程都是由Manager管理进程fork创建并管理的
子进程结束运行时,Manager管理进程负责回收子进程,以避免成为僵尸进程,并创建新的子进程。
服务器关闭时,Manager管理进程发送信号给所有子进程,并通知子进程关闭服务。
服务器重启时,Manager管理进程会逐个关闭或重启子进程。
Manager进程内的回调函数:
onManagerStart 当管理进程启动时调用
onManagerStop 当管理进程结束时调用
onWorkerError 当Worker进程或Task进程发生异常后会在Manager进程会回调此函数