SQLite задуман как легкая база данных и поэтому не может поддерживать высокий уровень параллелизма. OperationalError: ошибки базы данных заблокированы указывают на то, что ваше приложение испытывает больший параллелизм, чем sqlite может обработать в конфигурации по умолчанию. Эта ошибка означает, что один поток или процесс имеет монопольную блокировку соединения с базой данных, а время ожидания другого потока истекло в ожидании снятия блокировки.
Оболочка Python SQLite имеет значение тайм-аута по умолчанию, которое определяет, как долго второй поток может ждать блокировки до истечения времени ожидания и вызывает ошибку OperationalError: база данных заблокирована.
Если вы получаете эту ошибку, вы можете решить ее следующим образом:
Переход на другую базу данных. В определенный момент SQLite становится слишком «облегченным» для реальных приложений, и такого рода ошибки параллелизма указывают на то, что вы достигли этой точки.
Переписать код, чтобы уменьшить параллелизм и обеспечить недолговечность транзакций базы данных.
Увеличьте значение тайм-аута по умолчанию, установив опцию тайм-аута базы данных
Источник: https://stackoverflow.com/questions/3172929/operat...