SQLAlchemy / Flask MSSQL Query зависает неопределенно при запуске под Apache - PullRequest
0 голосов
/ 17 декабря 2018

Мое приложение использует несколько разных БД на одном сервере MSSQL (только для чтения).Моя проблема в том, что одно из двух MSSQL-соединений всегда работает нормально, в то время как другое бесконечно зависает в первом запросе, пока Flask не отключит соединение.Это, однако, происходит только в большинстве случаев, когда приложение работает под Apache.Когда я запускаю тестовый сервер колбы, все в порядке.

Я окружил запрос MSSQL сообщениями журнала и поэтому уверен, что ошибка именно в этом конкретном запросе.Это просто простой поиск по первичному ключу, например:

db.query(Record).get(id)

Доступ к базам данных осуществляется через разные механизмы, чьи URI отличаются только по имени базы данных.

Моя проблема в том, что у меня естьпонятия не имею, как начать отладку этого.Любые советы?

[EDIT] Мне удалось запустить ведение журнала SQLAlchemy под Apache.Я установил echo = True на двигатель, и он вообще ничего не выводит.Это просто висит.

1 Ответ

0 голосов
/ 19 декабря 2018

Оказывается, что проблема связана не с Apache, а с таймаутом соединения.В то время как движок MySQL выдает сообщение об ошибке при попытке выполнить запрос на просроченном соединении с сервером, движок MSSQL просто молча останавливается навсегда.Добавление pool_recycle = 3600 в create_engine () решило проблему.

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