nchan_eventsource_event

Директива `nchan_eventsource_event` задаёт данные события для Server-Sent Events (SSE) в системах pub/sub Nchan.

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

Описание

Директива nchan_eventsource_event имеет решающее значение для настройки того, как события отправляются клиентам с помощью механизма Server-Sent Events (SSE) в модуле Nchan для NGINX. Когда эта директива определена, она обеспечивает эффективную передачу сообщений от сервера клиентам, подписанным на определённые каналы. Такое поведение важно для приложений реального времени, таких как живые уведомления, чаты и обновления, где между сервером и клиентом существует постоянное соединение, позволяющее серверу отправлять обновления по мере их появления.

Эта директива может принимать один параметр, который указывает данные события, включаемые в SSE. Параметр должен соответствовать формату, подходящему для событий SSE, обычно представляя собой допустимую строку, которая может служить полезной нагрузкой события. После настройки Nchan будет обрабатывать форматирование исходящих сообщений и обеспечивать корректную отправку указанных событий всем подключённым подписчикам данного канала, при необходимости поддерживая несколько типов событий или форматов данных в зависимости от требований приложения.

При использовании этой директивы в таких контекстах, как server, location или внутри условных операторов if в блоке location, она позволяет тонко контролировать способ отчёта событий. Эта гибкость особенно полезна при реализации функций, где разные типы событий могут требовать различного представления в зависимости от контекста или состояния подписки клиента.

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

location /events {
    nchan_eventsource_event "message data";
}

Убедитесь, что данные событий правильно отформатированы в соответствии с ожиданиями SSE-клиентов.

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

Убедитесь, что Nchan правильно включён в сборку NGINX, так как это сторонний модуль.

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