Метод Boto connect_xxx и пулы соединений

Если я вызываю boto.connect_xxx, где xxx – некоторая служба (dynamodb, s3 и т. Д.) Несколько раз, создает ли каждый новый пул соединений? То, что я хотел бы сделать, это что-то вроде этого (пример в Flask):

@app.before_request def before_request(): g.db = connect_dynamodb() 

чтобы убедиться, что я всегда подключаюсь, но я не хочу делать это перед каждым запросом, если он каждый раз будет создавать новые токены безопасности и т. д., весь rigamarole. Безопасно ли просто называть connect_xxx () один раз при запуске приложения и полагаться на boto для создания новых подключений по мере необходимости и т. Д.?

One Solution collect form web for “Метод Boto connect_xxx и пулы соединений”

Лучший подход – вызывать метод connect_xxx один раз, когда ваше приложение запускается и полагается на boto для управления соединением с этого момента. Единственным исключением из этого правила является использование нескольких потоков. В этом случае каждый поток должен создать свое собственное соединение, так как boto использует httplib, который не является потокобезопасным.

Даже если вы вызываете метод connect_xxx перед каждым запросом, вы действительно должны быть в порядке. Boto объединяет соединение на уровне класса и должно обрабатывать это довольно эффективно.

  • Сделайте неблокирующий запрос с запросами при запуске Flask с Gunicorn и Gevent
  • Можно ли использовать websockets в Flask и Python 3?
  • Jinja2: url_for () Flask в сочетании с привязкой attr к нокауту
  • Получение CKEditor для работы с Flask Admin
  • Проксирование на другой веб-сервис с помощью Flask
  • RuntimeError: работает вне контекста приложения
  • Маркер URL-адреса флага: Маршрут Несколько URL-адресов для одной и той же функции
  • Проблема гнездования блока Jinja2
  • Команда "py.test" против "pytest"
  • Jinja2 избегает всех HTML, но img, b и т. Д.
  • Как динамически выбрать каталог шаблонов, который будет использоваться в колбе?
  • Python - лучший язык программирования в мире.