[Moscow.pm] а вот кто с лонгпулингом работает?

Ivan Petrov i.petro.77.00 на gmail.com
Сб Апр 26 13:17:43 PDT 2014


значит причины почему лонгпулинг: потому что вебсокеты пока 5/6
браузерами не поддерживается (у нас в ua по логам столько таковых)

для доставки сообщений запилили сервер лонгпулинга (на тарантуле).

соответственно кому надо - кладет евенты с ключами
клиенты подписываются на перечень ключей и получают евенты посредством
запросов к лонгпулинг-сервису

из за того что клиенты

a. на GPRS
b. переконнекчиваются

то время "жизни" сообщения на сервере довольно большое - >= 10 минут.

далее, есть Event'ы на которые скажем кнопочка в интерфейсе
перекрашивается. с теми все понятно.

но есть Event'ы по которым делается AJAX запрос.

все в целом работает оч красиво, юзер практически немедленную реакцию
видит на удаленные события.

однако есть одна траблема:

если у юзера пропадает канал на скажем 5 минут, то после его появления
он получает все евенты которые ему пришли за пять минут разом.

то есть при выходе его "из тени" может выйти так, что его браузер
начинает делать 20-30 AJAX запросов подряд.

понятно что можно в *каждом отдельном* случае как-то либо "схлопывать
сообщения" внутри большой пачки, либо делать релоад всей страницы итп,
но хочется придумать какое-то относительно универсальное решение.

вопрос: никто не думал над проблемой лонгпулинга и нестабильного
коннекта с AJAX в ответ на события?


Подробная информация о списке рассылки Moscow-pm