Sanu0074
@Sanu0074

Как получить доступ к сокету без request?

Обычно при запросе можно получить объект с сокетом и что-то делать (у меня express с socket.io). Но, если например, у меня есть крон-джоба, которая запускается раз в час и что-то делает, потом она хочет оповестить всех приконнекченых клиентов (emit), но реквеста не было, и получить сокет некак. Глобальные переменные использовать - совсем не вариант я думаю. При запуске приложения таким образом - app.set('io', io);, сеттим сокет где io содержит основные события и авторизацию сокет-клиентов.
Как можно решить такую задачу не используя реквест?
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
тогда нужно заводить отдельный сторедж для соединений и добавлять их туда при каждом подключении. а связывать крон-джобу с express-сервером нужно через какой-то интерфейс. мне в голову приходит RabbitMQ
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
Крон должен не emit делать, а писать какие-то нотификации в базу или какие-то хранилище.

А сокет сервер соответственно проверять с каким-то интервалом новые оповещения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы