LINUX.ORG.RU

PostgreSQL ThreadedConnectionPool and Flask blueprints

 ,


0

1

Вопрос.

Самый лучший способ расшарить пул соединений к СУБД между модулями Flask-приложения (blueprint-ами) - это использование глобальной переменной flask.g?

Использовать какой-то внешний процесс (брокер) я не хочу. Т.к. в этом случае придётся гонять данные между процессами (это снижение надёжности).

Я нашёл такое решение с flask.g здесь: https://stackoverflow.com/questions/16311974/connect-to-a-database-in-flask-which-approach-is-better

Инициализацию пула соединений flask.g.pool, при этом, можно выполнять на этапе @app.before_request или через декоратор @retry (случай обрыва соединения).

Какие ещё есть варианты расшарить пул соединений между нитями?

пул соединений между нитями

А разве во flask нити? Я думал, что там обычные процессы.

AnDoR ★★★★★
()
Ответ на: комментарий от no-such-file

А что в объект запроса никак нельзя из миддлвари запихать сразу коннекшен из пула? flask.Request(environ, populate_request=True, shallow=False) Его и имею в виду.

Интересная мысль. Я что-то сразу не понял.

В общем, benefits от создания пула я понял. Осталось прочитать исходники gunicorn, чтобы понять логику запуска нитей (процессов).

BruteForceSSL
() автор топика
Ответ на: комментарий от BruteForceSSL

Это не значит, что там будут использоваться треды. Параметры у функции могут как угодно называться.

AnDoR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.