# radio

## Описание

Сервис взаимодействия реального времени

!!! note
    Обязательный элемент системы. API доступно только внутри инфраструктуры серверной части lexema8. 

Система взаимодействия реального времени имеет большую область применения: от оповещения сеансов пользователей о произвольных событиях до полноценных сервисов обмена мгновенными сообщениями между пользователями приложения

## Настройки сервиса взаимодействия реального времени

!!! note
     Раздел applications { radio { }} конфигурационного файла ./config/production.js

- **protocol** - используемый веб-протокол (по умолчанию `http`).
- **host** - имя хоста (по умолчанию `localhost`).
- **ws** - поддержка проксирования по веб-сокетам (по умолчанию `true`).
- **port** - порт для запуска (по умолчанию `3062`).
- **route** - используемый маршрут (по умолчанию `/api/v2.0/radio`).
- **timeout** - количество миллисекунд бездействия, после которого считается, что время ожидания истекло (по умолчанию `120`). В режиме продакшена может потребоваться дополнильно настроить таймаут для веб-сервера (nginx).
- **script** - путь к модулю, запускающему сервис (по умолчанию `ecosoft-lexema8/radio`).
- **channels** - словарь используемых каналов. (по умолчанию `ecosoft-lexema8`: [`legacy`]). Ключом является идентификатор канала, значением - массив имен типов сообщений.
- **persistance** - параметры хранения отложенных сообщений.
    - **provider** - класс, обеспечивающий хранение отложенных сообщений.
    - **options** - опции.
          - **db** - имя профиля подключения к базе данных (по умолчанию `radio`).
          - **ttl** - время хранения недоставленных сообщений в минутах. (по умолчанию используется значение `applications.gate.sessionLifeTime`)
