Соединение пула SQLAlchemy / Flask / PostgreSQL
после того, как я долго играл с Django, я пытаюсь немного колбы с SQLAlchemy, и я должен сказать, что мне это очень нравится. Однако есть кое-что, чего я не понимаю.: У меня есть небольшое приложение Flask / SQLAlchemy, которое использует PostgreSQL. В моем Я:
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object('settings')
db = SQLAlchemy(app)
Я хотел бы знать:
- есть ли автоматический пул соединений ? Или делает каждый вызов модели.запрос... создать новое соединение с базой данных?
- если нет, то как я могу настроить?
- если да, то каковы по умолчанию, как я могу изменить значения?
большое спасибо за помощь !
1 ответов
фляга-с SQLAlchemy создает двигатель с SQLAlchemy с помощью create_engine
метод в SQLAlchemy, который вы можете прочитать о некоторых параметрах и значениях по умолчанию в документация для функции create_engine. согласно документации по колбе-SQLAlchemy, вы можете указать некоторые параметры конфигурации, специфичные для объединения. Вы можете установить эти значения различными способами, о которых вы можете прочитать в конфигурация колбы. У вас уже есть settings
модуль конфигурации, так что вы можете добавить в свой конфиг файл...
SQLALCHEMY_POOL_SIZE=10
Итак, да, есть автоматический пул соединений. это предусмотрено SQLAlchemy по умолчанию. На момент публикации этого ответа Flask-SQLAlchemy позволяет изменять некоторые из этих параметров с помощью файла конфигурации (хотя, похоже, есть старый запрос pull, чтобы вы могли указать любой параметр create_engine).
Если вы требуется больше поддержки для настройки движка SQLAlchemy, чем предоставляет Flask-SQLAlchemy, вы можете либо использовать SQLAlchemy без оболочки Flask-SQLAlchemy, либо изменить Flask-SQLAlchemy (возможно, слияние запроса вытягивания), чтобы разрешить это.