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
|
||||
|
||||
> 必要环境 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
|
||||
npm run ts:app
|
||||
npm run app
|
||||
```
|
||||
|
||||
- 重新登录
|
||||
|
||||
```sh
|
||||
npm run ts:app login
|
||||
npm run app login
|
||||
```
|
||||
|
||||
> 暂不支持PM2托管进程
|
||||
|
||||
## Unknown file ".ts"
|
||||
|
||||
node >= 20.0.0
|
||||
|
||||
- 启动
|
||||
- 进程托管
|
||||
|
||||
```sh
|
||||
npm run latest:app
|
||||
npm run start
|
||||
```
|
||||
|
||||
- 重新登录
|
||||
- 杀死进程
|
||||
|
||||
```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",
|
||||
"author": "Yoimiya-Kokomi, Le-niao",
|
||||
"description": "QQ Group Bot",
|
||||
"main": "app.js",
|
||||
"main": "./index.js",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"app": "node .",
|
||||
"login": "node . login",
|
||||
"start": "pm2 start ./config/pm2/pm2.json",
|
||||
"stop": "pm2 stop ./config/pm2/pm2.json",
|
||||
"restart": "pm2 restart ./config/pm2/pm2.json",
|
||||
"ts:app": "ts-node src/main.ts",
|
||||
"ts:login": "ts-node src/main.ts login",
|
||||
"ts:build": "rollup --config rollup.config.js",
|
||||
"latest:app": "node --no-warnings=ExperimentalWarning --loader ts-node/esm src/main.ts",
|
||||
"latest:login": "node --no-warnings=ExperimentalWarning --loader ts-node/esm src/main.ts login",
|
||||
"app": "node index.js",
|
||||
"login": "node index.js login",
|
||||
"build": "rollup --config rollup.config.js",
|
||||
"start": "pm2 startOrRestart pm2.config.cjs",
|
||||
"stop": "pm2 stop pm2.config.cjs",
|
||||
"delete": "pm2 delete pm2.config.cjs",
|
||||
"kill": "pm2 kill",
|
||||
"logs": "pm2 logs",
|
||||
"monit": "pm2 monit",
|
||||
"pm2": "pm2",
|
||||
"docs": "typedoc --options typedoc.json",
|
||||
"format": "prettier --write .",
|
||||
"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