Not quite. Imagine a system where we record all the business events that get published by all of our systems. Now say at some point our stake holder says "Oh you know what would be awesome? If we had such and such report organized like so". Well we have the raw data to produce what they've asked for (because we have the entire history of what's happened to our system), we just didn't anticipate their request from day one.
And actually what they've asked for is really just an existing report but with a few extra columns.
So the easiest way to produce this report would be to update our code to listen for the extra events, blow away the existing report, dump what's in our message history into the report's queue (RabbitMQ queue-per-report to make this easy), and then listen for live updates once the backfill has been completed.
Any hints on how MassTransit could handle this situation?
On Saturday, May 4, 2013 11:34:53 AM UTC-5, Dru wrote:
I have not done this at all. Am I understanding correctly that you are looking for the ability to collect messages at your endpoint but not process them until a specific time??
Hello,
Our system has an endpoint that listens to all the messages published to the system (a Message Store in the EIP parlance) so that we are able to bootstrap new endpoints or update existing endpoints with messages that they may not have been listening to in the past. I'm wondering if anyone has any good strategies for achieving this with MT + RabbitMQ?
I figured this would be easiest if each of our read-model denormalizers had their own MT endpoint (unique RabbitMQ url-per-read-model) so that we can easily wipe out a read model, dump all the messages from the message store directly to the read-model's queue, and then just let it work like normal.
The tricky thing is the cut-over from replay to live updates. I figured the easiest thing to do would be to some how suspend the real subscription, spin up a separate copy of the same denormalizer subscribed to a temporary queue for the replay, then when that's done unsuspend the real subscription and just check for duplicates.
Am I on the right track here? Is anyone else doing something different for message replay and MT? Any caveats or helpful things that MT can do for me in this situation?
--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.