I Guess that Cyclone with RESTMQ is a good option for that. (I read about it)
https://github.com/gleicon/restmq http://www.restmq.com/ 2010/12/28 mdipierro <mdipie...@cs.depaul.edu> > I needed something that could do http get, http post and comet via > html5 websockets. > > I looked at the other options gevent, twisted, etc, I either had > installation problems, or performance issues, or it was hard to figure > it out how to it. > > With tornado this was trivial: > > ----- begin ------ > LISTENERS = [] > class NewMsgHandler(tornado.web.RequestHandler): > def get(self): > self.write('<html><body>Hello</body></html>') > def post(self): > data = self.request.arguments['data'][0] > [element.write_message(data) for element in LISTENERS] > class RealtimeHandler(tornado.websocket.WebSocketHandler): > def open(self): > LISTENERS.append(self) > def on_message(self, message): > pass > def on_close(self): > LISTENERS.remove(self) > application = tornado.web.Application([ > (r'/', NewMsgHandler), # for get and post > (r'/websocket/', RealtimeHandler), # for websockets > ], auto_reload=True) > http_server = tornado.httpserver.HTTPServer(application) > http_server.listen(8888) > tornado.ioloop.IOLoop.instance().start() > ---- end ---- > > On post it streams data to all clients connected with websockets. It > runs as fast as bare metal. It cannot possibly be faster. I tried with > up with 100 posts/seconds with 10 connected clients) and 1 post/second > with 500 connected clients (my my laptop which does not even support > epoll). > > Web2py acts like a proxy for the post (does the form generation, > validation, database IO, etc.) but stays out of the way as far as > websockets are concerned. Web2py serves all the pages that need db > access. > > The clients receive data from tornado and store (do not process it > else slows down the server, it queues it). The processing.js thread > processes the data 5times/second for a smooth interface. > > Massimo > > On Dec 28, 11:27 am, David Marko <dma...@tiscali.cz> wrote: > > Why tornado as webserver? Any observations you can share? > > > > David > -- Bruno Rocha http://about.me/rochacbruno/bio