Commit ·
9fbf425
1
Parent(s): ee4ce11
更换pm2为socket/pm2
Browse files- README.md +1 -0
- ecosystem.config.js +1 -1
- hapi-think/socket.js +9 -0
- package-lock.json +21 -0
- package.json +2 -0
- src/pages/api/ZhNE2aqY2Pr2uvqA.js +1 -1
README.md
CHANGED
|
@@ -7,6 +7,7 @@ wsl本地dev调试:pm2 restart pm2_local_dev.json
|
|
| 7 |
`
|
| 8 |
<br />
|
| 9 |
`
|
|
|
|
| 10 |
线上部署环境:npm run pm2
|
| 11 |
`
|
| 12 |
<br />
|
|
|
|
| 7 |
`
|
| 8 |
<br />
|
| 9 |
`
|
| 10 |
+
安装pm2 npm install -g @socket.io/pm2
|
| 11 |
线上部署环境:npm run pm2
|
| 12 |
`
|
| 13 |
<br />
|
ecosystem.config.js
CHANGED
|
@@ -19,6 +19,6 @@ const config = {
|
|
| 19 |
module.exports = {
|
| 20 |
"apps": [
|
| 21 |
{...config,instances:1,env: { crontab: false}}, //触发定时器
|
| 22 |
-
|
| 23 |
]
|
| 24 |
}
|
|
|
|
| 19 |
module.exports = {
|
| 20 |
"apps": [
|
| 21 |
{...config,instances:1,env: { crontab: false}}, //触发定时器
|
| 22 |
+
{...config,instances:2}
|
| 23 |
]
|
| 24 |
}
|
hapi-think/socket.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
| 1 |
'use strict';
|
| 2 |
const {Error} = require('./lib/think');
|
| 3 |
const { Server } = require("socket.io");
|
|
|
|
|
|
|
| 4 |
exports.plugin = {
|
| 5 |
pkg: {
|
| 6 |
"name": "socket",
|
|
@@ -12,6 +14,7 @@ exports.plugin = {
|
|
| 12 |
// await server.register(require('@hapi/nes'));
|
| 13 |
|
| 14 |
//see https://socket.io/docs/v4/server-options/
|
|
|
|
| 15 |
const table = server.table();
|
| 16 |
table.forEach(item => {
|
| 17 |
const settings = item.settings.plugins['socket'];
|
|
@@ -21,6 +24,12 @@ exports.plugin = {
|
|
| 21 |
...settings,
|
| 22 |
path,
|
| 23 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
io.on("connection", (socket) => {
|
| 25 |
// console.log('hello socket')
|
| 26 |
});
|
|
|
|
| 1 |
'use strict';
|
| 2 |
const {Error} = require('./lib/think');
|
| 3 |
const { Server } = require("socket.io");
|
| 4 |
+
const { createAdapter } = require("@socket.io/cluster-adapter");
|
| 5 |
+
const { setupWorker } = require("@socket.io/sticky");
|
| 6 |
exports.plugin = {
|
| 7 |
pkg: {
|
| 8 |
"name": "socket",
|
|
|
|
| 14 |
// await server.register(require('@hapi/nes'));
|
| 15 |
|
| 16 |
//see https://socket.io/docs/v4/server-options/
|
| 17 |
+
//
|
| 18 |
const table = server.table();
|
| 19 |
table.forEach(item => {
|
| 20 |
const settings = item.settings.plugins['socket'];
|
|
|
|
| 24 |
...settings,
|
| 25 |
path,
|
| 26 |
});
|
| 27 |
+
|
| 28 |
+
// see pm2 https://socket.io/zh-CN/docs/v4/pm2/
|
| 29 |
+
if(process.env.pm_id){
|
| 30 |
+
io.adapter(createAdapter());
|
| 31 |
+
setupWorker(io);
|
| 32 |
+
}
|
| 33 |
io.on("connection", (socket) => {
|
| 34 |
// console.log('hello socket')
|
| 35 |
});
|
package-lock.json
CHANGED
|
@@ -20,6 +20,8 @@
|
|
| 20 |
"@mui/material": "^5.14.17",
|
| 21 |
"@mui/x-date-pickers": "^6.18.1",
|
| 22 |
"@mui/x-date-pickers-pro": "^6.18.1",
|
|
|
|
|
|
|
| 23 |
"@vercel/ncc": "^0.38.1",
|
| 24 |
"@wangeditor/editor": "^5.1.23",
|
| 25 |
"@wangeditor/editor-for-react": "^1.0.6",
|
|
@@ -4748,11 +4750,30 @@
|
|
| 4748 |
"node": ">=14.0.0"
|
| 4749 |
}
|
| 4750 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4751 |
"node_modules/@socket.io/component-emitter": {
|
| 4752 |
"version": "3.1.1",
|
| 4753 |
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.1.tgz",
|
| 4754 |
"integrity": "sha512-dzJtaDAAoXx4GCOJpbB2eG/Qj8VDpdwkLsWGzGm+0L7E8/434RyMbAHmk9ubXWVAb9nXmc44jUf8GKqVDiKezg=="
|
| 4755 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4756 |
"node_modules/@surma/rollup-plugin-off-main-thread": {
|
| 4757 |
"version": "2.2.3",
|
| 4758 |
"resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz",
|
|
|
|
| 20 |
"@mui/material": "^5.14.17",
|
| 21 |
"@mui/x-date-pickers": "^6.18.1",
|
| 22 |
"@mui/x-date-pickers-pro": "^6.18.1",
|
| 23 |
+
"@socket.io/cluster-adapter": "^0.2.2",
|
| 24 |
+
"@socket.io/sticky": "^1.0.4",
|
| 25 |
"@vercel/ncc": "^0.38.1",
|
| 26 |
"@wangeditor/editor": "^5.1.23",
|
| 27 |
"@wangeditor/editor-for-react": "^1.0.6",
|
|
|
|
| 4750 |
"node": ">=14.0.0"
|
| 4751 |
}
|
| 4752 |
},
|
| 4753 |
+
"node_modules/@socket.io/cluster-adapter": {
|
| 4754 |
+
"version": "0.2.2",
|
| 4755 |
+
"resolved": "https://registry.npmjs.org/@socket.io/cluster-adapter/-/cluster-adapter-0.2.2.tgz",
|
| 4756 |
+
"integrity": "sha512-/tNcY6qQx0BOgjl4mFk3YxX6pjaPdEyeWhP88Ea9gTlISY4SfA7t8VxbryeAs5/9QgXzChlvSN/i37Gog3kWag==",
|
| 4757 |
+
"dependencies": {
|
| 4758 |
+
"debug": "~4.3.1"
|
| 4759 |
+
},
|
| 4760 |
+
"engines": {
|
| 4761 |
+
"node": ">=10.0.0"
|
| 4762 |
+
},
|
| 4763 |
+
"peerDependencies": {
|
| 4764 |
+
"socket.io-adapter": "^2.4.0"
|
| 4765 |
+
}
|
| 4766 |
+
},
|
| 4767 |
"node_modules/@socket.io/component-emitter": {
|
| 4768 |
"version": "3.1.1",
|
| 4769 |
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.1.tgz",
|
| 4770 |
"integrity": "sha512-dzJtaDAAoXx4GCOJpbB2eG/Qj8VDpdwkLsWGzGm+0L7E8/434RyMbAHmk9ubXWVAb9nXmc44jUf8GKqVDiKezg=="
|
| 4771 |
},
|
| 4772 |
+
"node_modules/@socket.io/sticky": {
|
| 4773 |
+
"version": "1.0.4",
|
| 4774 |
+
"resolved": "https://registry.npmjs.org/@socket.io/sticky/-/sticky-1.0.4.tgz",
|
| 4775 |
+
"integrity": "sha512-VuauT5CJLvzYtKIgouFSQ8rUaygseR+zRutnwh6ZA2QYcXx+8g52EoJ8V2SLxfo+Tfs3ELUDy08oEXxlWNrxaw=="
|
| 4776 |
+
},
|
| 4777 |
"node_modules/@surma/rollup-plugin-off-main-thread": {
|
| 4778 |
"version": "2.2.3",
|
| 4779 |
"resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz",
|
package.json
CHANGED
|
@@ -21,6 +21,8 @@
|
|
| 21 |
"@mui/material": "^5.14.17",
|
| 22 |
"@mui/x-date-pickers": "^6.18.1",
|
| 23 |
"@mui/x-date-pickers-pro": "^6.18.1",
|
|
|
|
|
|
|
| 24 |
"@vercel/ncc": "^0.38.1",
|
| 25 |
"@wangeditor/editor": "^5.1.23",
|
| 26 |
"@wangeditor/editor-for-react": "^1.0.6",
|
|
|
|
| 21 |
"@mui/material": "^5.14.17",
|
| 22 |
"@mui/x-date-pickers": "^6.18.1",
|
| 23 |
"@mui/x-date-pickers-pro": "^6.18.1",
|
| 24 |
+
"@socket.io/cluster-adapter": "^0.2.2",
|
| 25 |
+
"@socket.io/sticky": "^1.0.4",
|
| 26 |
"@vercel/ncc": "^0.38.1",
|
| 27 |
"@wangeditor/editor": "^5.1.23",
|
| 28 |
"@wangeditor/editor-for-react": "^1.0.6",
|
src/pages/api/ZhNE2aqY2Pr2uvqA.js
CHANGED
|
@@ -4,7 +4,7 @@ export default async (req)=>{
|
|
| 4 |
try{
|
| 5 |
socket.emit('tttt','sdfsdf1111')
|
| 6 |
send(
|
| 7 |
-
|
| 8 |
);
|
| 9 |
}catch (e){
|
| 10 |
error(e)
|
|
|
|
| 4 |
try{
|
| 5 |
socket.emit('tttt','sdfsdf1111')
|
| 6 |
send(
|
| 7 |
+
process.env
|
| 8 |
);
|
| 9 |
}catch (e){
|
| 10 |
error(e)
|