Как сохранить сессию активной в течение долгого времени в sqlalchemy? - PullRequest
1 голос
/ 05 апреля 2019

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

Затем я создал сеанс, а также механизм внутри цикла (я закрыл сеанс и разместил механизм в конце цикла.) Я понял, что создание нового соединения - дорогостоящая операция.

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


from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

# an Engine, which the Session will use for connection
# resources
some_engine = create_engine('mysql://user:password@localhost/')

# create a configured "Session" class
Session = sessionmaker(bind=some_engine)

# create a Session
session = Session()

for long_query in long_query_list:
    # work with sess
      session.execute(long_query)
      session.commit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...