let pros = require('../processes.json'); const pkg = require("../package.json"); const { exec } = require('child_process'); export default function autoPausePlugin() { let timer; return { name: 'auto-pause', configureServer(server) { timer = setTimeout(()=>{ console.log('-----48小时服务未使用,暂停服务-----') exec(`pm2 stop ${pros.apps[0].name}`,(err, stdout) => { if (err) { console.error(`pm2 stop ${pros.apps[0].name}`, err); return; } }) },pkg.preview.autoStopTime*1000) // 设置 两天没动 无请求时检查服务状态并暂停服务 server.middlewares.use((req, res, next) => { // 每当有请求到达时,重置定时器,并设置服务为活跃状态 clearTimeout(timer); timer = setTimeout(() => { console.log('-----48小时服务未使用,暂停服务-----') exec(`pm2 stop ${pros.apps[0].name}`,(err, stdout) => { if (err) { console.error(`pm2 stop ${pros.apps[0].name}`, err); return; } }) }, pkg.preview.autoStopTime*1000); // 设置 两天没动 无请求时检查服务状态并暂停服务 next(); }); } }; }