SQLALchemy DB Session with Flask, Postgres

Я использую SQLAlchemy с Flask, как показано здесь: http://flask.pocoo.org/docs/patterns/sqlalchemy/

У меня есть набор тестов Selenium, который сначала запускается с Firefox, а затем с Chrome.

Перед началом тестов в каждом браузере таблицы в тестовой базе данных (PostgreSQL) отбрасываются и создаются.

Он отлично работает для первых браузеров, но для второго браузера попытка создания / удаления SQL просто зависает, и никаких ошибок не отображается.

Я считаю, что это из-за открытых сессий SQLAlchemy, это правильно?

2 Solutions collect form web for “SQLALchemy DB Session with Flask, Postgres”

Я считаю, что это из-за открытых сессий SQLAlchemy, это правильно?

Скорее всего, это так. Чтобы подтвердить это, подключитесь к базе данных postgres и запустите SELECT * FROM pg_stat_activity ;

Я не уверен, как вы справляетесь с созданием / удалением БД, но вы можете захотеть вызвать dispose() и, возможно, recreate() в пуле соединений SQLAlchemy, после проверки того, что все проверенные соединения были возвращены (например, с session.close() ).

Это то, что происходит со мной также при запуске Flask unittest с SQLAlchemy и Postgres. Много раз преступник является исключением, который не распространялся вверх и застревал. Это исключение также прекращает проверку после правильной очистки и, следовательно, замораживания.

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

Это может быть и ваше наблюдение за открытой сессией Sqlalchemy. Я буду проверять мою теорию, основанную на этом наблюдении завтра. Если он очистит некоторые сомнения, я отправлю сюда.

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

  • Как интегрировать Redis с SQLAlchemy
  • sqlalchemy простой пример `sum`,` average`, `min`,` max`
  • Как сопоставить один класс с несколькими таблицами с SQLAlchemy?
  • Правильный способ предотвратить повторение запросов SQLAlchemy на истекших объектах?
  • Как класс SQLAlchemy наследуется должным образом, несмотря на сложность отношений ForeignKey?
  • Почему мой scoped_session создает объект AttributeError: «Session» не имеет атрибута «удалить»,
  • ограничение столбца sqlalchemy колбы для положительного целого числа
  • Flask-WhooshAlchemy с существующей базой данных
  • Очистить кеш отражения sqlalchemy
  • Отображение db varchar для объекта домена bool
  • Вставить dataframe в sqlalchemy postgresql с автоинкрементами idx
  •  
    Interesting Posts for Van-Lav

    Django для сложных функций Func (sql)

    Python NumPy: как заполнить матрицу, используя уравнение

    Почему во второй раз я запускаю «readlines» в Python в том же файле, ничего не возвращается?

    График параллельных координат с пропущенными координатами

    IDLE не может импортировать Tkinter. Ваш Python не может быть настроен для Tk

    Использование экспоненциальности ** 0,5 менее эффективно, чем математика.

    Массивный массив в Python

    Как импортируется работа. Почему импортированные модули не наследуют другие импортированные модули

    Соответствующие шаблоны в Python

    как декодировать символ un unicode в python?

    Django: как изменить виджет поля в встроенной форме

    Как изменить размер головы двойного заголовка в matplotlib?

    Можно ли отменить поиск позиции индекса для itersorted в PyTables?

    Как показать метку шейп-файла в легенде базовой карты python?

    протоколирование python гарантирует, что обработчик будет добавлен только один раз

    Python - лучший язык программирования в мире.