锁定处理多个帖子请求

时间:2019-07-19 10:42:33

标签: node.js locking

因此,我必须编写一些执行以下操作的NodeJS代码:每当发出发布请求时,我都会尝试执行某些程序;如果程序已经在执行(由于先前的请求),我将忽略该请求。如果没有,我执行程序。我正在使用NodeJS child_process.exec来完成此操作;但是,我无法知道exec(program)何时终止;我考虑过使用execSync,但这只是阻塞了所有请求,直到程序执行完毕,而不是完全忽略它们。这是我现在拥有的代码:

function fun () {
  execFile('C:\\Windows\\System32\\notepad.exe', ['package.json'],);
}

1 个答案:

答案 0 :(得分:0)

execFileEventEmitter,因此您可以侦听execFile运行时发生的事件,包括exit事件,它告诉您过程已完成。< / p>

  ignoreNextRequest = true;
  execFile('C:\\Windows\\System32\\notepad.exe', ['package.json']).once('exit', (code, signal) => {
    // Your code to handle the end of the process here.
    ignoreNextRequest = false;
});