修复spawn可能中断,修复token过期任务状态修改

This commit is contained in:
hanhh 2021-07-07 18:26:56 +08:00
parent 71d7d3818f
commit 517fdcc8ec
2 changed files with 12 additions and 6 deletions

View File

@ -30,6 +30,13 @@ export default ({ app }: { app: Application }) => {
if (!headerToken && req.path && req.path === '/api/login') {
return next();
}
const remoteAddress = req.socket.remoteAddress;
if (
remoteAddress === '::ffff:127.0.0.1' &&
req.path === '/api/crons/status'
) {
return next();
}
const err: any = new Error('UnauthorizedError');
err['status'] = 401;
next(err);

View File

@ -211,18 +211,17 @@ export default class CronService {
cmdStr = `${cmdStr} now`;
}
const cp = spawn(cmdStr, { shell: true, detached: true });
this.cronDb.update(
{ _id },
{ $set: { status: CrontabStatus.running, pid: cp.pid } },
);
cp.on('close', (code) => {
const cp = exec(cmdStr, (err, stdout, stderr) => {
this.cronDb.update(
{ _id },
{ $set: { status: CrontabStatus.idle }, $unset: { pid: true } },
);
resolve();
});
this.cronDb.update(
{ _id },
{ $set: { status: CrontabStatus.running, pid: cp.pid } },
);
});
}