Как сеанс sqlalchemy используется одновременно в случае форка (префорка uwsgi celery) - PullRequest
0 голосов
/ 30 октября 2018

Например, в ходе разработки выяснилось, что uwsgi и celery используют несколько процессов способом prefork, но если сеанс был создан во время инициализации приложения, процессы совместно используют один и тот же сеанс. Как избежать этой ситуации

1 Ответ

0 голосов
/ 31 октября 2018

Сеанс SQLAlchemy должен быть недолгим. В веб-приложении вы обычно создаете сеанс в начале запроса и удаляете сеанс по завершении запроса.

Таким образом, каждый запрос получает свой собственный сеанс.

Правильное использование сессии важно в SQLAlchemy, я предлагаю вам прочитать эту часть документации: https://docs.sqlalchemy.org/en/latest/orm/session.html

С Когда я создаю Сессию, когда я фиксирую ее и когда закрываю? :

Веб-приложение - самый простой случай, потому что такое приложение уже построены вокруг единого, согласованного объема - это запрос, который представляет собой входящий запрос от браузера, обработка этого запроса, чтобы сформулировать ответ, и, наконец, доставка этого ответа обратно клиенту. Интеграция веб приложения с сессией тогда является простой задачей привязка объема сеанса к объему запроса. Сессия может быть установлен как начало запроса, или с помощью ленивых шаблон инициализации, который устанавливает один, как только это необходимо. Затем запрос выполняется с некоторой системой в месте, где приложение логика может получить доступ к текущему сеансу способом, связанным с тем, как фактический объект запроса доступен. Когда запрос заканчивается, Сессия также срывается, обычно с помощью перехватчиков событий обеспечивается веб-фреймворком. Транзакция, используемая сеансом, может на этом этапе, или, в качестве альтернативы, приложение может выбрать явный шаблон коммита, только коммит для этих запросов где один гарантирован, но все еще всегда сносит сессию безоговорочно в конце.

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