Кто-нибудь знает об асинхронном клиенте CouchBase для веб-фреймворка Tornado?

Я пишу веб-приложение, которое использует nginx для обслуживания статического контента и торнадо для обслуживания динамического контента. Я думал об использовании CouchBase в качестве хранилища данных, но у меня возникли проблемы с поиском подходящего клиента для использования с инфраструктурой Tornado (то есть асинхронной). Кто-нибудь знает об одном?

Я видел trombi: https://github.com/inoi/trombi, но не смог найти много информация о нем. Если у кого-то есть опыт (хороший или плохой), буду рад услышать об этом.


person jpreed00    schedule 18.02.2012    source источник


Ответы (1)


Я бы очень рекомендовал придерживаться кода, выпущенного Couchbase для Python. Хотя технически это не асинхронно, запросы настолько быстры, что на самом деле не учитываются. Это не похоже на создание запроса к базе данных, который может легко заблокировать непрерывные действия в течение определенного периода времени. Не говоря уже о том, что существует много кода балансировки нагрузки и управления корзинами, который вы бы потеряли в большинстве ситуаций, пытаясь найти для него какой-нибудь сторонний модуль.

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

ОБНОВЛЕНИЕ

Другой вариант — использовать внутреннюю функцию обратного вызова Tornado, чтобы компенсировать процесс блокировки, чтобы он не мешал просмотру. Способ описан здесь: http://tornadogists.org/2185380/

person Drahkar    schedule 18.02.2012