nchan_eventsource_ping_data

Директива `nchan_eventsource_ping_data` задаёт полезную нагрузку данных, отправляемую в ходе пингов поддержания соединения подписчикам, использующим протокол EventSource.

Синтаксисnchan_eventsource_ping_data data;
По умолчаниюnone
Контекстserver, location, if in location
Аргументы1

Описание

Директива nchan_eventsource_ping_data используется в Nchan — масштабируемом модуле pub/sub для NGINX, предназначенном для организации уведомлений в реальном времени и взаимодействия большого числа одновременных соединений. Когда она включена в подходящем контексте, эта директива определяет, какие данные отправляются в ходе пингов поддержания соединения EventSource. Эта функциональность обеспечивает поддержание активного соединения между клиентом и сервером, предотвращая тайм-ауты и позволяя серверу отправлять обновления клиенту без необходимости постоянного цикла запрос‑ответ.

Настраивая эту директиву, пользователи могут кастомизировать полезную нагрузку пингов, которая может служить различным целям: проверкам работоспособности, передаче идентификаторов версий или отправке метаданных, которые клиент может использовать без необходимости дополнительных запросов к серверу. Аргумент директивы ожидается в виде строки данных, определяющей содержимое ping-данных. Правильное использование этой директивы может заметно улучшить опыт пользователей, поддерживая канал связи в активном состоянии и предоставляя полезную информацию.

Директиву можно задавать в разных контекстах, включая server, location или условный блок внутри location. Такая гибкость позволяет разработчикам оптимизировать поведение сервера в зависимости от конкретных потребностей разных маршрутов или условий обработчиков.

Пример конфига

location /events {
    nchan_eventsource_ping_data '{"ping": "keep-alive"}';
    # Other Nchan configurations...
}

Убедитесь, что формат данных ping — корректный JSON, если вы отправляете структурированные данные.

Будьте осторожны с частотой ping; установка ее слишком низкой может привести к неожиданной нагрузке на сервер.

← Ко всем директивам