Как узнать, работает SUBSCRIBER или нет перед событием PUBLISHING в php redis pubsub?

Я использую php redis pubsub. Я заметил, что если подписчик не запущен и мы публикуем событие на канал, то это событие будет отброшено.

Поэтому по этой причине, прежде чем публиковать что-либо на канале, я хочу проверить, работает подписчик или нет?

Любой способ определить состояние или другой способ, чтобы мое опубликованное событие не пропало.
заранее спасибо

0

Решение

Вы не можете сказать, слушает ли ваш подписчик или нет, это по замыслу:

Увидеть http://redis.io/topics/pubsub

[…] отправители (издатели) не запрограммированы отправлять свои сообщения
конкретные получатели (подписчики). Скорее, опубликованные сообщения
характеризуется в каналы, без знания чего (если есть)
подписчики могут быть
.

Это не относится только к Redis, но является фундаментальным принципом любой реализации Pub / Sub.

Вы, вероятно, спрашиваете, как надежно доставлять вам сообщения, но опять же, Redis не имеет встроенных функций для этого:

http://redis.io/topics/notifications

Потому что Redis Pub / Sub это огонь и забыть в настоящее время нет возможности
используйте эту функцию, если ваше приложение требует надежного уведомления
события, то есть, если ваш клиент Pub / Sub отключается и повторно подключается
позже все события были доставлены в то время, когда клиент был
отключены потеряны.

Возможно, вы захотите реализовать свой собственный механизм поверх существующих функций. Например, вы можете LPUSH новые сообщения в список на стороне PUB, и RPOP их на стороне клиента и использовать уведомления о пространстве клавиш знать, когда это сделать. При таком подходе вы не потеряете ни одного сообщения, даже если ни один клиент не слушает.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]