https://github.com/ledccn/workerman-process
workerman进程启动器
https://github.com/ledccn/workerman-process
Last synced: 7 days ago
JSON representation
workerman进程启动器
- Host: GitHub
- URL: https://github.com/ledccn/workerman-process
- Owner: ledccn
- Created: 2023-07-31T08:20:43.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-10-14T12:55:03.000Z (over 1 year ago)
- Last Synced: 2025-08-18T20:00:37.816Z (10 months ago)
- Language: PHP
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# workerman进程启动器
## 安装
```
composer require ledc/workerman-process
```
## 使用
```
[
//使能
'enable' => true,
//监听
'listen' => 'websocket://0.0.0.0:2345',
//上下文
'context' => [],
//worker支持的属性和回调属性
'properties' => [
// 事件回调
// onWorkerStart
'onWorkerStart' => function ($worker) {
},
// onWorkerReload
'onWorkerReload' => function ($worker) {
},
// onConnect
'onConnect' => function ($connection) {
},
// onMessage
'onMessage' => function ($connection, $data) {
$connection->send('receive success');
},
// onClose
'onClose' => function ($connection) {
},
// onError
'onError' => function ($connection, $code, $msg) {
echo "error [ $code ] $msg\n";
},
],
//业务进程:handler类
'handler' => '',
//业务进程:handler类的构造函数参数
'constructor' => [],
],
'http' => [
//使能
'enable' => true,
//监听
'listen' => 'http://0.0.0.0:2346',
//上下文
'context' => [],
//worker支持的属性
'properties' => [
//属性
'count' => 2,
// 事件回调
// onMessage
'onMessage' => function ($connection, $data) {
$connection->send('receive success');
},
],
//业务进程:handler类
'handler' => '',
//业务进程:handler类的构造函数参数
'constructor' => [],
],
];
foreach ($process as $name => $config) {
Process::start($name, $config);
}
Process::runAll();
```
## 配置详情
配置节点`properties`支持workerman的所有属性和回调属性,详情参考官方文档:[workerman 手册](https://www.workerman.net/doc/workerman/worker.html)
业务handler类在子进程onWorkerStart时实例化,handler类支持workerman的所有回调属性;
## 配置生效情况
| 序号 | 存在handler类 | 继承Workerman\Worker | 实例化逻辑 | 属性properties | handler类constructor |
| ---- | ------------- | -------------------- | ------------------------------------------------------------ | -------------- | -------------------- |
| 1 | 是 | 是 | new $handler($listen, $context) | 生效 | 忽略 |
| 2 | 否 | 否 | new Worker($listen, $context) | 生效 | 忽略 |
| 3 | 是 | 否 | new Worker($listen, $context)
子进程onWorkerStart时new $handler() | 生效 | 生效 |
## 最佳实践
- GatewayWorker,使用第一种方式启动
- 继承Workerman\Worker开发的类,使用第一种方式启动
- 未继承,使用第二种或第三种方式启动