@Evstolyan

Что лучше в асинхронном приложении: одно соединение с БД или нет?

Всем привет. Я проводил некоторые эксперименты с asyncio и aiosqlite и заметил довольно предсказуемую ситуацию: в одной корутине выполняется метод например на вставку и после выполнения и до метода commit управление передается другой корутне где вызывается по каким-то причинам rollback(). Собственно та запись которая должна была вставиться не вставилась. И у меня возникла мысль, что в асинхронном приложении два варианта : либо юзать пул соединений используя асинхронный драйвер БД, либо создавать новое соединение на какую-либо очередь обращений. Так ли это? Хочется получить какую-то определенность
  • Вопрос задан
  • 200 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vapaamies
@Vapaamies
Разработчик будущей ОС для ПК размером 250 МБ
В нормальной БД по умолчанию всегда вызывается rollback, если commit не вызван явно (или до него не дошло из-за ошибки) и не включен режим auto-commit (может отсутствовать в БД, но эмулироваться библиотеками). SQLite — нормальная БД.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы