pana

Una biblioteca de clientes asíncronos de CouchDB
Descargar ahora

pana Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • BSD License
  • Precio:
  • FREE
  • Nombre del editor:
  • Christian Swinehart
  • Sitio web del editor:
  • http://samizdat.cc/

pana Etiquetas


pana Descripción

Corduroy es un módulo de Python que proporciona una envoltura amigable para Python alrededor de la API basada en HTTP de CouchDB. Detrás de las escenas se engancha en las rutinas de E / S asíncronas desde su elección de Tornado o las solicitudes y los módulos GEVENT. En Corduroy, puede consultar la base de datos sin bloquear el bucle de eventos de su servidor, lo que lo hace ideal para CouchApp Micro-Middleware o Operaciones por lotes de script .Usageas Un ejemplo del mundo real (ISH) de trabajar con Corduroy, considere este par de manipuladores de eventos de Tornado que actualizan un documento específico de la URL y luego consultar una vista. Los primeros usan devoluciones de llamada explícitas para reanudar la ejecución después de que se reciba cada respuesta de la base de datos: DB = Base de datos ('jugadores') Clasificación de clasificación de clases (Tornado.Web.Requesthandhandler): @ Tornado.Web.asynchronous Def Post (yo, jugador_id): auto .new_score = int (self.request.body) db.get (jugador_id, callback = self.got_player) def got_player (doc, estado): doc.score = self.new_score db.save (doc, llamada de llamada = self.saved_player) DeF Saved_Player (conflictos, estado): DB.View ('Leaderboard / Highscores', CallBack = self.got_highscores) Def got_highscores (filas, estado): self.write (json.dumps (filas)) una alternativa La sintaxis está disponible (cuando se usa Tornado) a través del uso del decorador @Relax. En lugar de definir las devoluciones de llamada para cada operación de la base de datos, la biblioteca se puede llamar como parte de un expedición de rendimiento. El módulo Generador de Logornado interceptará estos rendimientos y proporcionará una devolución de llamada automáticamente. El resultado es el código que se ve bastante secuencial, pero aún se ejecutará de manera asíncrona: clasificación de claseApdater (Tornado.Web.Requesthandhandler): @Relax deforda (yo, jugador_id): # Actualice el puntaje de este jugador DOC = DOC. DOC. puntuación = int (self.request.body) DB.Save (DOC) # Devuelve los nuevos rankings Highscores = Rendimiento DB.View ('Leaderboard / Highscores') Self.Write (JSON.Dumps (High Points)) Self.Finish ( ) Para una suave introducción a Corduroy (y CouchDB en general), eche un vistazo a la guía. La documentación para todas las clases de nivel de módulo de CORDUROY se puede encontrar en la sección de referencia. Se puede encontrar la instalaciónutomática en PYPI y se puede instalar en PYPI y se puede instalar con su elección de PIP o EASY_INSTALL.STERNUAL INSTALLACIÓN ANTERIORDOADN CANTUROY-0.9.0.TAR.GZ: TAR XVZF Corduroy-0.9.0.Tar.gzcd Corduroy-0.9.0PYTHON SETUP.PY INSTALLDEPENDENCESIF Estás escribiendo una aplicación de tornado, Corduroy puede usar su cliente HTTP de Pure-Python instalando con: PIP Instale Corduroy Tornadoor si prefiere el Libcurl Cliente basado (que admite la agrupación y otras sustituidas), use: PIP Instale Corduroy Tornado Pycurlif Pycurl Cuma (lo estoy mirando, OS X), intente: Env Archflags = "- Arch X86_64" PIP Instale PyCURLGEVENT Los usuarios pueden instalar : PIP Instale las solicitudes de Canduroy GEVENTE la biblioteca también se puede usar con el bloqueo de I / O de bloqueo de PIP Instale PIP Instale la página de inicio del producto


pana Software relacionado