let pros = require('../processes.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; } }) },2*24*60*60*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; } }) }, 2*24*60*60*1000); // 设置 两天没动 无请求时检查服务状态并暂停服务 next(); }); } }; }