Как создать очередь в SQLite3 Python?

Работаю в асинхронном боте

На сколько знаю в SQLite3 читать можно одновременно, но редактировать только одним потоком.

Можно ли как-то создать очередь, чтобы не появлялось исключение "database is locked"?

Видел похоже асинхронный SQLite3, но мне нужно возвращать его ответы и не думаю, что это решит проблему.


Ответы (1 шт):

Автор решения: SerjK

Попробуйте установить параметр соединения check_same_thread=False https://docs.python.org/3/library/sqlite3.html

По умолчанию check_same_thread есть, True и только создающий поток может использовать соединение. Если установлено False, возвращенное соединение может совместно использоваться несколькими потоками. При использовании нескольких потоков с одним и тем же соединением операции записи должны быть сериализованы пользователем, чтобы избежать повреждения данных

→ Ссылка