Поддержу про торнадо, но еще более рекомендую посмотреть на
cyclone.io
Это торнадо переписанный под twisted, который как нельзя лучше вам подойдет (это я про
https://twistedmatrix.com/ ). У меня так система работает, вся обработка делается в twisted, а отдаю через cyclone по ajax (вебсокетов на клиентах, увы у меня нет :-( )
А технология называется comet. Реализуется в разных вариантах, у которых есть плюсы и минусы. Смысл в том, что браузер тем или иным образом (comet, websocket, ajax, ajaxp, longframe, longpooling и т.д.) подключается к серверу и ждет прихода события от сервера. Само событие может содержать кучу данных, которые обновились.
Я бы рекомендовал сделать следующим образом. Поставить сервер очередей типа rabbitmq, а через торнадо/cyclone подключаться к очереди через ajax/ajaxp и/или websockets.
Ну а если просто нужно слушать очереди сообщений (без хитрой обработки на web-сервере), то можно просто обойтись rabbitmq-stomp.
В принципе, в циклоне есть несколько примеров:
-
https://github.com/fiorix/cyclone/tree/master/demo... - очереди на основе redis
-
https://github.com/fiorix/cyclone/tree/master/demo... - собственно websocket
-
https://github.com/fiorix/cyclone/tree/master/demo... = чистый ajax