Многопоточное использование SQLAlchemy

Я хочу создать интерфейс программирования приложений базы данных, написанный на Python и использующий SQLAlchemy (или любые другие коннекторы баз данных, если будет сказано, что использование SQLAlchemy для такого рода задач - не лучший вариант. Установка представляет собой сервер MySQL, работающий на Linux или BSD, и программное обеспечение Python, работающее на машине Linux или BSD (внешней или локальной).

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

У меня вопрос: что мне делать, чтобы справиться с этой ситуацией?

  • Следует ли мне использовать блокировку, чтобы одновременно мог работать только один сеанс?
  • Действительно ли сеансы потокобезопасны и я ошибаюсь, полагая, что это не так?
  • Есть ли лучший способ справиться с этой ситуацией?
  • Не следует ли использовать потоки?
48
задан Sheena 19 March 2014 в 03:01
поделиться