[Документация Yandex Cloud](../../index.md) > [Yandex Message Queue](../index.md) > [Концепции](index.md) > Long Polling

# Long Polling

Технология Long Polling позволяет оптимизировать использование Yandex Message Queue за счет снижения количества отправляемых запросов [ReceiveMessage](../api-ref/message/ReceiveMessage.md) к пустым очередям. Вместо повторения запросов Yandex Message Queue позволяет получателям ожидать поступления сообщений в очередь и сразу читать их. Кроме того, за счет увеличенного времени опроса Long Polling позволяет избежать ложных пустых ответов.

## Использование {#set-up-long-polling}

Использовать Long Polling можно задав ненулевое значение параметру `WaitTimeSeconds` метода `ReceiveMessage`. Этот параметр определяет, в течение какого времени клиент будет ожидать поступления сообщений в пустую очередь. Только по истечении этого времени клиенту будет возвращен пустой ответ. Максимальное значение `WaitTimeSeconds` — 20 секунд.

В ответ на `ReceiveMessage` возвращается как минимум одно из доступных в очереди сообщений. Максимальное количество получаемых сообщений ограничивается параметром `MaxNumberOfMessages`.

## Преимущества перед Short Polling {#advantages}

Стандартное поведение метода `ReceiveMessage` подразумевает использование технологии Short Polling: метод не ожидает поступления сообщений в очередь, а вызовом опрашивается только часть шардов очереди. При этом в выбранных шардах может не оказаться новых сообщений, в то время как в шардах, не попавших в выборку, новые сообщения останутся непрочитанными. Это приводит к ложным пустым ответам — `ReceiveMessage` сообщает об отсутствии сообщений, в то время как сообщения есть в очереди.

Использование Long Polling исключает ложные пустые ответы путем опроса всех шардов очереди за установленное время ожидания, а не только попавших в выборку при выполнении запроса с нулевым параметром `WaitTimeSeconds`.