NodeJS Остановись и начни с партии - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь запускать и останавливать приложение nodejs каждые n минут в пакете.Это то, что у меня есть:

node index.js
pause

Я думаю, что способ сделать это - использовать цикл for и подождать n минут, а затем остановить приложение.Проблема в том, как мне остановить приложение nodejs через пакет?

Я пытался:

node index.js
sleep 30 //sleeps for 30 seconds
node index.js
sleep 30

Проблема в том, что он никогда не засыпает 30 секунд, потому что мое приложение js узла никогдазаканчивается, поэтому он не перейдет к следующей строке.Есть ли возможность остановить программу, а затем продолжить с командным файлом.

Я говорю о .bat файле.

1 Ответ

0 голосов
/ 15 февраля 2019

Если вы хотите принудительно перезапустить все в index.js, вы можете попробовать использовать bot.js (или любое другое имя) child_process.exec :

const { exec } = require('child_process');
const loop = () => exec('node index.js', (error, stdout, stderr) => {
  if (error) {
    console.error(`exec error: ${error}`);
    return;
  }
  console.log(`stdout: ${stdout}`);
  console.log(`stderr: ${stderr}`);
});
loop();
setInterval(loop, 30000);

Если вы просто хотите запустить код внутри index.js, вы можете использовать функцию loop - это код, который вы хотите повторно запустить (потому что долго начинать с exec).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...