feat: 增加进程托管
This commit is contained in:
parent
d2b2673fc4
commit
6b2e4a0738
22
README.md
22
README.md
|
@ -10,9 +10,9 @@
|
||||||
|
|
||||||
> 必要环境 Windows/Linux + Chrome/Chromium/Edge
|
> 必要环境 Windows/Linux + Chrome/Chromium/Edge
|
||||||
|
|
||||||
> 必要环境 18.18.2>Node.js>16.14.0 + Redis>5.0.0
|
> 必要环境 Node.js>16.14.0 + Redis>5.0.0
|
||||||
|
|
||||||
如果你的系统不支持18.18.2版本,最低能下载16.14.0版本,这是最新的puppeteer版本限制。
|
推荐使用`18.18.2`版本,如果系统不支持,最低要求`16.14.0`,这是新版`puppeteer`的限制
|
||||||
|
|
||||||
## 开发者
|
## 开发者
|
||||||
|
|
||||||
|
@ -49,29 +49,23 @@ pnpm install
|
||||||
- 启动
|
- 启动
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm run ts:app
|
npm run app
|
||||||
```
|
```
|
||||||
|
|
||||||
- 重新登录
|
- 重新登录
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm run ts:app login
|
npm run app login
|
||||||
```
|
```
|
||||||
|
|
||||||
> 暂不支持PM2托管进程
|
- 进程托管
|
||||||
|
|
||||||
## Unknown file ".ts"
|
|
||||||
|
|
||||||
node >= 20.0.0
|
|
||||||
|
|
||||||
- 启动
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm run latest:app
|
npm run start
|
||||||
```
|
```
|
||||||
|
|
||||||
- 重新登录
|
- 杀死进程
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm run latest:app login
|
npm run kill
|
||||||
```
|
```
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
import { spawn } from 'child_process'
|
||||||
|
const argv = [...process.argv].splice(2)
|
||||||
|
const argvs = argv.join(' ').replace(/(\S+\.js|\S+\.ts)/g, '')
|
||||||
|
/**
|
||||||
|
* ***************
|
||||||
|
* 启动内部运行脚本
|
||||||
|
* ***************
|
||||||
|
*/
|
||||||
|
const child = spawn(
|
||||||
|
'node --no-warnings=ExperimentalWarning --loader ts-node/esm src/main.ts',
|
||||||
|
argvs.split(' '),
|
||||||
|
{
|
||||||
|
shell: true,
|
||||||
|
stdio: 'inherit'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
/**
|
||||||
|
* *************
|
||||||
|
* exit
|
||||||
|
* *************
|
||||||
|
*/
|
||||||
|
process.on('SIGINT', () => {
|
||||||
|
if (child.pid) process.kill(child.pid)
|
||||||
|
if (process.pid) process.exit()
|
||||||
|
})
|
22
package.json
22
package.json
|
@ -3,19 +3,19 @@
|
||||||
"version": "4.0.0-rc.0",
|
"version": "4.0.0-rc.0",
|
||||||
"author": "Yoimiya-Kokomi, Le-niao",
|
"author": "Yoimiya-Kokomi, Le-niao",
|
||||||
"description": "QQ Group Bot",
|
"description": "QQ Group Bot",
|
||||||
"main": "app.js",
|
"main": "./index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"app": "node .",
|
"app": "node index.js",
|
||||||
"login": "node . login",
|
"login": "node index.js login",
|
||||||
"start": "pm2 start ./config/pm2/pm2.json",
|
"build": "rollup --config rollup.config.js",
|
||||||
"stop": "pm2 stop ./config/pm2/pm2.json",
|
"start": "pm2 startOrRestart pm2.config.cjs",
|
||||||
"restart": "pm2 restart ./config/pm2/pm2.json",
|
"stop": "pm2 stop pm2.config.cjs",
|
||||||
"ts:app": "ts-node src/main.ts",
|
"delete": "pm2 delete pm2.config.cjs",
|
||||||
"ts:login": "ts-node src/main.ts login",
|
"kill": "pm2 kill",
|
||||||
"ts:build": "rollup --config rollup.config.js",
|
"logs": "pm2 logs",
|
||||||
"latest:app": "node --no-warnings=ExperimentalWarning --loader ts-node/esm src/main.ts",
|
"monit": "pm2 monit",
|
||||||
"latest:login": "node --no-warnings=ExperimentalWarning --loader ts-node/esm src/main.ts login",
|
"pm2": "pm2",
|
||||||
"docs": "typedoc --options typedoc.json",
|
"docs": "typedoc --options typedoc.json",
|
||||||
"format": "prettier --write .",
|
"format": "prettier --write .",
|
||||||
"prepare": "husky"
|
"prepare": "husky"
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
const argv = [...process.argv].slice(4)
|
||||||
|
module.exports = {
|
||||||
|
apps: [
|
||||||
|
{
|
||||||
|
name: 'Miao-Yunzai',
|
||||||
|
script: './index.js',
|
||||||
|
args: argv,
|
||||||
|
max_memory_restart: '512M',
|
||||||
|
restart_delay: 60000
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue