Short answer: PUSH / PULL and PUB / SUB have different semantics.
PUSH / PULL distributes the pressed messages between the pullers. You use this when you want to deploy and make sure your materials are processed. If no one listens, it blocks.
PUB / SUB broadcasts published messages to all subscribers. If no one is listening, messages are lost.
It seems to me that PUB / SUB is more suitable for your use case. The phantom with lost messages makes no sense in the end.
igorw source share