Захват событий закрытия docker-compose в node.js - PullRequest
1 голос
/ 23 апреля 2019

Я пытался перехватить команды выключения в своем приложении node.js, чтобы я мог убрать соединения перед тем, как убить приложение.

В работе мое приложение использует Docker Swarm, и я вижу, что SIGTERM работаетсрабатывает через мои:

process.on('SIGTERM', function() {});

Однако в моей среде разработчиков я использую docker-compose run и docker-compose down, которые, похоже, не вызывают мои захваты SIG * (У меня есть локальная версия rabbitMQ, в которой события SIG публикуются и перед выключением).

Я запускаю образ ubuntu: bionic в моем Dockerfile ив моем файле docker-compose у меня есть init: true .Мой движок Docker 18.09.2 и compose: 1.23.2 с версией : "3.7" вверху моего файла compose.

Это все мои события захвата в моем index.js:

process.on('exit', () => {
  reporter.ossEvent('APP STOPPED exit');
  shutdown();
});

process.on('SIGINT', () => {
  reporter.ossEvent('APP STOPPED SIGINT');
  shutdown();
});

process.on('SIGTERM', function() {
  reporter.ossEvent('APP STOPPED SIGTERM');
  shutdown();
});

process.on('SIGUSR1', () => {
  reporter.ossEvent('APP STOPPED SIGUSR2');
  shutdown();
});

process.on('SIGUSR2', () => {
  reporter.ossEvent('APP STOPPED SIGUSR2');
  shutdown();
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...