En su lugar, puede usar dos listas para este tipo de patrón distribuido. Sugiero esto principalmente debido a la naturaleza de PubSub de "disparar y olvidar" sin garantizar la entrega. Asumiría que en tu caso, no quieres eso.
Este es el flujo sugerido:primero deberá configurar dos "oyentes" de bloqueo:
- Servidor1:
BRPOP completed
- Servidor2:
BRPOP requests
Luego, cuando un usuario inicia sesión:
- Servidor1:
LPUSH requests data
- Servidor2:desbloquea, procesa datos,
LPUSH completed data
y volver a bloquear pop - Server1:desbloquea, hace lo que sea, vuelve a bloquear pop