Pregunta

Estoy construyendo una aplicación web que tiene una alimentación en tiempo real (similar al suministro de noticias de Facebook) que quiero actualizar a través de un mecanismo de sondeo de largo. Entiendo que con Python, mis opciones son más o menos para cualquiera que use Stackless (edificio de su ejemplo wsgi Comet) o Cometd + trenzado. Por desgracia hay muy poca documentación relativa a estas opciones y no puedo encontrar una buena información en línea acerca de los usuarios a escala de producción del cometa en Python.

Alguien ha implementado con éxito el cometa en Python en un sistema de producción? ¿Cómo se van haciendo sobre él y dónde puede encontrar recursos para poner en práctica mi propia?

¿Fue útil?

Solución

Te recomiendo que debe usar StreamHub Comet servidor - el utilizado por una gran cantidad de personas - personalmente utilizo con un par de sitios Django corro. Usted tendrá que escribir un poco de Java para manejar el streaming - Hice esto usando Jython . El código de front-end es un poco simple verdadero Javascript a la:

StreamHub hub = new StreamHub();
hub.connect("http://myserver.com/");
hub.subscribe("newsfeed", function(sTopic, oData) { alert("new news item: " + oData.Title); });

La documentación es bastante bueno - tuve problemas similares a medida que tratar de empezar a trabajar con los documentos dispersos de Cometd et al. Para empezar que había leído Primeros pasos con el cometa y StreamHub , descargar y ver cómo algunos de los ejemplos que trabajan y hacen referencia a los documentos de la API si es necesario:

Otros consejos

orbitaba parece como una buena solución. no lo han intentado sin embargo.


Actualizar . Cosas han cambiado en los últimos 2,5 años

Ahora tenemos websockets en todos los principales navegadores, excepto IE (naturalmente) y un par de muy buenos abstracciones sobre ella, que proporcionan muchos métodos de emular la comunicación en tiempo real.

A continuación se muestra un ejemplo con todas las funciones de la combinación de Django, estuvo en órbita, y Twisted para crear una aplicación en tiempo real (cometa): http://github.com/clemesha/hotdot usando Python.

He hecho toneladas de API que utilizan trenzado para ese tipo de cosas, la mayoría de los cuales están disponibles en el github cuenta.

La mayoría son del lado del cliente, pero chapoteo es un servidor que escribí para hacer un tiempo real pubsub barato tipo de cosa. Se escala un tanto horizontalmente para lee al permitir la replicación de corriente simple. Las escrituras son un poco diferentes cuando se cumple a HTTP plano, pero me ha empujado una cantidad decente a través de él para una demostración.

De lo contrario, usted tiene en todo el BOSH el que más apoyo servidores XMPP y le permitirá a desacoplar la distribución de mensajes de la interfaz web.

No he hecho, pero este chico tiene y escribe un buen artículo sobre el tema, con ejemplos de Django y punteros (que no lo he comprobado) a otros marcos.

la órbita y soluciones Redis son agradables, pero no más relevante cuando se tiene algo así como el PubSubHubbub que Google lanzó. Esto hace que sea muy fácil de ser el editor o el suscriptor a una fuente dada. http://code.google.com/p/pubsubhubbub/

Aquí hay un ejemplo que hace largo sondeo con GEvent y Django .

Utiliza greenlet -. Conmutación pila funcionalidad de Stackless empaquetado como una extensión CPython

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top