Turbogears2 с базой данных MySQL не обновляет таблицы в нескольких потоках - PullRequest
0 голосов
/ 26 апреля 2019

Я использую turbogears2 с базой данных MySQL.С одним и тем же кодом, однопоточный регистр может обновляться / записываться в таблицы.Но поток потока не имеет ошибки, однако, запись не успешна.

За пределами turbogears2 многопоточные записи могут без проблем записывать в таблицы.

Нет ошибок или претензий к многопоточности с tg2.Просто нет успешной записи в таблицу.

Буду очень признателен, если кто-нибудь, использующий tg2, может посоветовать.

1 Ответ

1 голос
/ 28 апреля 2019

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

Это введено в Wiki за 20 минут учебник :

[...] вам обычно нужно сбросить единицу работы SQLAlchemy и зафиксировать текущую транзакцию, это:операции, которые TurboGears2 автоматически выполнит для нас.

Вам не нужно ничего делать, чтобы использовать эту систему управления транзакциями, она должна просто работать.

Однако для всегото есть вне регулярного цикла запроса / ответа, например stream или другого потока, такого как планировщик , который вручную сбрасывает сеанс и фиксирует транзакцию.требуется.Это выполняется с DBSession.flush() и transaction.commit().

...