Кто-нибудь знает асинхронный клиент CouchBase для веб-платформы Tornado? - PullRequest
2 голосов
/ 18 февраля 2012

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

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

1 Ответ

2 голосов
/ 18 февраля 2012

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

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

UPDATE

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

...