Правильное использование sqlalchemy сессия с Flask - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь использовать sqlalchemy с колбой (без расширения flask-sqlalchemy). Я борюсь с тем, как интегрировать объект сеанса sqlalchemy с флягой.

Я видел несколько подходов:

1) Create a new session everytime I want to query the database and close the corresponding session at the end of the request(in the request function itself rather than taking help from Flask). This does not scale well as it exhausts the sqlalchemy connection pool quickly with the number of increasing requests.


2) Use the scoped session, query the database and remove the scoped session acquired at the end of request using the flask's app.after_request decorator. This approach works, but I am confused so as how to make use of it, as some places recommend to use the Flask's global request variable g to keep track of which session is allocated to which request while others do not use it at all.

Я решил использовать второй вариант, так как первый вариант вообще не масштабируется для больших приложений. Я хотел бы знать, есть ли какие-либо подводные камни со вторым подходом, такие как одновременные сессии, обрабатывающие одни и те же объекты с или без данного оператора. Кроме того, не влияет ли использование данной переменной на sqlalchemy scoped_session?

Любая помощь будет оценена.

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