>[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
~~~
- 欢迎使用 MixPHP
- 安装说明
- 常规安装
- 只安装命令行
- Apache/PHP-FPM安装
- 开发与调试
- 开发注意事项
- 调试与错误
- 基础架构
- 目录结构
- 目录设计
- URL访问
- 命名空间
- 自动加载
- 入口文件
- 框架核心
- Application
- 配置
- 对象
- 组件
- 门面
- 系统服务
- 中间件
- 验证器
- 验证器定义
- 验证规则
- 静态调用
- 模型
- 日志
- 命令行
- 简介
- 命令行开发常识
- 创建命令
- 执行与选项
- 控制台程序
- 守护程序
- HTTP 服务
- 简介
- 服务器
- 路由
- 请求
- 响应
- 控制器
- 视图
- Token
- Session
- Cookie
- 文件上传
- 图片处理
- 分页
- 验证码
- WebSocket 服务
- 简介
- 回调函数
- 消息处理器
- 客户端测试
- nginx代理
- 60s无消息断线
- 多进程
- ProcessPoolTaskExecutor
- 流水线模式
- 推送模式
- 在 Supervisor 中使用
- 协程
- 简介
- 如何开启协程
- HTTP 协程开发
- 命令行协程开发
- 客户端
- MySQL
- PDO
- PDOPersistent
- PDOMasterSlave
- PDOCoroutine
- Redis
- Redis
- RedisPersistent
- RedisCoroutine
- 外部工具库
- 简介
- think-orm
- psr-log
- 安全建议
- 常见问题
- 启动多个 HTTP 服务器
- 连接多个数据库
- 如何设置跨域
- mix-httpd service stop 无效
- No such file or directory
- 错误级别配置不生效
- 推进计划
- 文档历史