Рассылка уведомлений для приложений
NOTIFY-SERVICE является сервисом рассылки уведомлений для golos.io и приложений. Сервис извлекает из блокчейна необходимые данные, определяет произошедшие события и группирует их, сохраняя в базе данных. Историю можно выгрузить по запросу, указав тип интересуемого события. Если пользователь онлайн - он получает уведомления в реальном времени через связанный сервис ONLINE-NOTIFY-SERVICE. Также происходят уведомления через push для пользователей мобильных устройств и web-push для браузеров, используется PUSH-SERVICE. Данные хранятся ограниченное время, после чего удаляются из базы данных.
API JSON-RPC
Формат данных
Возможные переменные окружения ENV
ENV
GLS_ONLINE_NOTIFY_CONNECT
(обязательно) - адрес подключения к микросервису онлайн нотификаций.GLS_PUSH_CONNECT
(обязательно) - адрес подключения к микросервису рассылки push-уведомлений.EVENT_EXPIRATION
- время в миллисекундах, после которого эвент будет удален из истории. Дефолтное значение -1000 * 60 * 60 * 24 * 30
(1 месяц)GLS_GATE_HOST
(обязательно) - адрес, который будет использован для входящих подключений связи микросервисов. Дефолтное значение при запуске без докера -127.0.0.1
GLS_GATE_PORT
(обязательно) - адрес порта, который будет использован для входящих подключений связи микросервисов. Дефолтное значение при запуске без докера -3000
GLS_METRICS_HOST
(обязательно) - адрес хоста для метрик StatsD. Дефолтное значение при запуске без докера -127.0.0.1
GLS_METRICS_PORT
(обязательно) - адрес порта для метрик StatsD. Дефолтное значение при запуске без докера -8125
GLS_MONGO_CONNECT
- строка подключения к базе MongoDB. Дефолтное значение -mongodb://mongo/admin
GLS_DAY_START
- время начала нового дня в часах относительно UTC, используется для таких вещей как валидация "1 пост в сутки". Дефолтное значение -3
(день начинается в 00:00 по Москве).GLS_BLOCKCHAIN_SUBSCRIBE_TIMEOUT
- таймаут подписки на новые блоки, срабатывает если за это время от блокчейн-ноды не пришло ни единого блока. Дефолтное значение -60000
, что равно одной минуте.GLS_BLOCKCHAIN_CONNECT
- адрес блокчейн-ноды для прослушивания. Дефолтное значение -wss://ws.golos.io
Запуск
Для запуска сервиса достаточно вызвать команду docker-compose up
в корне проекта, предварительно указав необходимые ENV
переменные.
Примечания
В случае удаления поста/комментария - он будет удален и из истории нотификаций, однако оповещение удаления не рассылается.
В случае снятия голоса или флага (значение голоса выставляется в 0) оповещение не рассылается.
Last updated