Периодически перезапускать узел экспресс-сервера - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть экспресс-приложение, которое предсказуемо нагружает процессор после некоторого времени работы под нагрузкой.Я хотел бы активно перезапускать его каждые N минут, чтобы избежать всплесков.В настоящее время он работает под forever, но я мог бы использовать pm2 или другой менеджер процессов.Есть ли менеджер процессов, который может делать периодические перезапуски?Как я могу выполнить это с минимумом добавленной структуры?

1 Ответ

1 голос
/ 24 апреля 2019

Вы можете сделать это программно с помощью PM2 со следующим кодом.

var pm2 = require('pm2');

pm2.connect(function(err) {
  if (err) throw err;

  setTimeout(function worker() {
    console.log("Restarting app...");
    pm2.restart('app', function() {});
    setTimeout(worker, NUM_MILLI_SECONDS);
  }, NUM_MILLI_SECONDS);
});

Это будет перезапускать его через каждые заданные миллисекунды. Существует также библиотека CRON, которую вы можете использовать.

...