>[danger] 该服务依赖 Swoole 扩展,Windows下无法执行。 ## ProcessPoolTaskExecutor 进程池任务执行器是一个多进程开发工具,能充分利用多核性能,并行处理大量数据,PHP 原生是不支持多进程的,多进程是基于 Swoole 开发,MixPHP 已经建立好了进程模型,参考范例代码即可非常容易的编写出多进程任务处理。 >[success] 多进程中只能使用同步代码,不可使用协程。 | 类 | 调用 | | --- | --- | | mix\task\ProcessPoolTaskExecutor | new ProcessPoolTaskExecutor([配置]); | ## 模式 - 流水线模式:适合消息队列(MQ)消费处理、数据采集、定时大量计算等场景。 - 推送模式:适合消息推送等场景。 - 守护模式:当需要常驻执行时,增加此模式,该模式只可与上两种模式一起使用。 ## 优点 - 平滑重启:当 kill 主进程时,子进程处理完工作会自动退出,不丢失数据。 - 高可用:子进程异常奔溃时,主进程将重建子进程。 - 高性能:多进程运行,充分利用多个CPU并行计算,性能强劲。 - 多功能:左、中、右进程分工合作,可以处理各种后端计算需求。 ## 开发目录 >[info] 通常在控制台程序模块、守护程序模块中开发。 ~~~txt ├── apps │ ├── console │ │ ├── commands │ │ ├── config │ │ ├── libraries │ │ └── runtime │ ├── daemon │ │ ├── commands │ │ ├── config │ │ ├── libraries │ │ └── runtime ~~~