Как сделать вызовы базы данных при выходе из процесса Node? - PullRequest
0 голосов
/ 21 июня 2019

Я пытаюсь вставить базу данных каждый раз, когда завершается процесс моего узла.

Я знаю, что process.on('exit', [fn]) не может делать ничего асинхронного, поэтому я пытаюсь найти способ обойти это.

Я использую Sequelize, но независимо от ORM, это все же асинхронный вызов БД.Я попытался

process.on('exit', async () => {
  console.log('Process terminating');
  await Status.update({
    running: 0,
    }, {
    where: {
      name: 'myStatus'
    }
  });
  process.exit();
});

, но, очевидно, это не работает, потому что мы не можем выполнять асинхронные операции при выходе.

Я видел несколько SO-решений этой проблемы (например, Howвыполнить асинхронную операцию при выходе ), но, похоже, должно быть более элегантное решение.Кроме того, я не уверен, что это отловит все события выхода.Я бы предпочел не устанавливать зависимость, которая заботится об этом либо.Есть ли собственный нодовый способ сделать это?

...