Сколько соединений используется в транзакции Sequelize - PullRequest
0 голосов
/ 09 мая 2020

Транзакция Sequelize автоматически возвращает соединение в пул соединений после фиксации или отката? (Я использую Sequelize с MS SQL без конкретной конфигурации c)?. Моя транзакция создается и управляется вручную, все запросы передаются с опцией {transaction: t}. У меня два вопроса:

  1. Если соединение не возвращается в пул автоматически после фиксации или отката, как я могу заставить это сделать?
  2. Мои запросы CRUD в транзакции хранятся в массиве. Насколько я понимаю, для транзакции требуется одно соединение из пула, если да, то в чем преимущество использования Promise.all(queries) перед запуском queries.forEach(q => await q)?

1 Ответ

0 голосов
/ 09 мая 2020
  1. Вам следует посмотреть на параметры пула соединений по умолчанию:

options.pool.idle - максимальное время в миллисекундах, в течение которого соединение может находиться в режиме ожидания перед освобождением.

options.pool.evict - Интервал времени в миллисекундах, по истечении которого sequelize-pool удалит незанятые соединения.

Это означает, что после фиксации или отката транзакции его соединение становится неактивным и управляется указанными выше параметрами. 2. Никакой выгоды вообще, и транзакция должна быть предсказуемой и надежной в случае выполнения порядка SQL операторов (для следующих изменений необходимы предыдущие изменения)

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