Search code examples
pythoncometdpython-stackless

Python Comet Server


I am building a web application that has a real-time feed (similar to Facebook's newsfeed) that I want to update via a long-polling mechanism. I understand that with Python, my choices are pretty much to either use Stackless (building from their Comet wsgi example) or Cometd + Twisted. Unfortunately there is very little documentation regarding these options and I cannot find good information online about production scale users of comet on Python.

Has anyone successfully implemented comet on Python in a production system? How did you go about doing it and where can I find resources to implement my own?


Solution

  • I recommend you should use StreamHub Comet Server - its used by a lot of people - personally I use it with a couple of Django sites I run. You will need to write a tiny bit of Java to handle the streaming - I did this using Jython. The front-end code is some real simple Javascript a la:

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

    The documentation is pretty good - I had similar problems as you trying to get started with the sparse docs of Cometd et al. For a start I'd read Getting Started With Comet and StreamHub, download and see how some of the examples work and reference the API docs if you need to: