Thank you all for you feedback !
Dan - I think the issue, in my case, with your solution is that the
producer will have to be aware
of all the consumers. ie it will have to create tube accordingly. I
should have mentioned this
in my original post, my bad !
Keith - Perhaps I am missing something. I thought about creating 2
tubes, one for the true observers
and another for the consumer, but I think ??, this raises the same
issue as the single tube approach,
since one of the observer will have to know how to publish an event to
the consumer tube. The issue
there and perhaps my misunderstanding, is when and who should consume
the messages from the
observer tube. Seems to be the same issue since that observers can not
guarantee that all other
observers have seen that message.
Erich - I will take a look a the second life thread
So I think there might be 2 approaches here:
A) Somehow track all the observers and record the fact that a message
was seen by a given observer.
Then the observer that pick it up last deletes the message. (I think
that's lame?)
B) Have someway to expire a message. ie if a message is in a queue for
a greater time then x then flush it
out. Not sure how one would achieve this ?
So to recap my situation
o The producer has no idea how many workers there will be
o A job should be deleted from the queue once all observers had a
chance to see it.
o Each observers has no idea who else is listening on the queue.
Thanks !