Можно ли пропустить сообщения с помощью длинного опроса с модулем nginx + pushstream? - PullRequest
2 голосов
/ 21 января 2012

Я прочитал всю документацию, форумы и примеры, которые смог найти, но не смог найти описание того, как модуль pushstream ведет себя в следующей ситуации:

Я использую nginx + pushstreamдоставлять сообщения о состоянии в очередь сеанса для пользователей, которые запрашивали действия, которые занимают некоторое время на стороне сервера.

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

Если в подписанную очередь отправлено много сообщений одновременно, возможно ли, что клиент мог пропустить сообщение во время повторного подключения?Или эта ситуация обрабатывается модулем pushstream?

Спасибо всем, что нашли время, чтобы прочитать и ответить!: -)

1 Ответ

3 голосов
/ 22 января 2012

При случайном поиске другой темы в группах Google появилась тема, отвечающая на этот вопрос.

Разработчик модуля pushstream заявляет в ответе:

О вашей цели вы можете установить заголовок If-Modified-Since при подключении в качестве текущего времени при подключении нового пользователя.При этом он будет получать только сообщения, отправленные после этого времени.

Я только боюсь, что вы можете потерять некоторые сообщения, используя длинный опрос без сообщений магазина или с небольшим push_stream_max_messages_stored_per_channel.: https://groups.google.com/forum/#!topic/nginxpushstream/4VutBQwx3zM

Это означает, что невозможно потерять сообщения, если сообщения хранятся (push_stream_store_messages включен).
Заголовки HTTP If-None-Match и If-Modified-Since сделаютуверен в этом.

...