SQLAlchemy, sqlite и fork () - PullRequest
       12

SQLAlchemy, sqlite и fork ()

1 голос
/ 27 сентября 2011

Каков наилучший способ использования fork() в SQLAlchemy + sqlite проекта?

Документация SQLAlchemy упоминает , что нужно вызывать create_engine() у ребенка, но не упоминает никаких других предостережений, которых я уверен, что их много (блокировки записи busy_timeout, удаление / проблемы с подключением и т. д.).

Будет ли иметь значение вопрос о том, использовать ли транзакции или области видимости?

Ответы [ 2 ]

1 голос
/ 27 сентября 2011

SQLite не поддерживает параллелизм записи, поэтому только один клиент может записывать в одну базу данных в любой момент времени.С этим ограничением единственная выгода, которую вы получите от использования транзакций, - это возможность их откатить.Если вы планируете использовать несколько баз данных, убедитесь, что вы не перетаскиваете себя в тупик, когда два процесса удерживают транзакционную блокировку записи в одной базе данных и пытаетесь одновременно получить одну в другой.

0 голосов
/ 27 сентября 2011

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

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