Как мне реализовать обратный AJAX в приложении Django?

Как мне реализовать обратный AJAX при создании приложения чата в Django? Я посмотрел на Django-Orbited, и, насколько я понимаю, это ставит сервер кометы перед HTTP-сервером. Кажется, это нормально, если я просто запускаю сервер разработки Django, но как это работает, когда я запускаю приложение из mod_wsgi? Каким образом орбитальный сервер обрабатывает каждый запрос? Это правильный подход?

Я рассмотрел другой подход (длинный опрос), который, похоже, сработает, хотя я не уверен, что все будет задействовано. Будет ли клиент запрашивать страницу, которая будет жить в его собственном потоке, чтобы не блокировать остальную часть приложения? Будет ли он вообще блокировать? Разве сценарий, запрошенный клиентом, не должен постоянно запрашивать информацию?

Какой из подходов более правильный? Что более портативно, масштабируемо, разумно и т. Д.? Есть ли другие хорошие подходы к этому (помимо опроса клиентов на предмет сообщений), которые я упустил?


person Carson Myers    schedule 13.05.2010    source источник


Ответы (3)


Как насчет использования замечательного модуля nginx push?

person Steve Jalim    schedule 13.05.2010
comment
Как вы тогда к этому пришли? - person jMyles; 30.11.2010

Взгляните на Tornado?

Использование WSGI для приложений с кометами / долгим опросом - не лучший выбор, потому что они не поддерживают неблокирующие запросы.

person byterussian    schedule 13.05.2010

Nginx Push Stream Module предоставляет простой HTTP-интерфейс как для сервера, так и для клиента.

Nginx HTTP Push Module аналогичен, но, похоже, больше не поддерживается.

person Vebjorn Ljosa    schedule 21.03.2012