Provide a way to start the bus without actually starting the consumers, only to build out the topology of the consumer subscriptions. This could be callable from a Topshelf installer to seed the subscriptions before actually running the service.
Maybe as part of this we can have InspectTopology which prints out the topology -- might be useful for debugging/etc.
I need to actually put this back, the walking of the bus configuration and receive endpoint configuration, so that we can continue to have that nice debug output for the diagnosis of issues. It's on my todo list :)
We are building an eventstore with rabbitmq and masstransit. When we deploy a new projection service, it needs to replay all events from the store. This is done with a query service that gives all events, and after replaying we start the bus. Starting the bus takes some amount of time and any event published on the bus after the replay has finished is lost.
Is this feature something we could use to avoid the problem by creating the queue and not consuming messages (ensuring idempotency by saving all processed message id's in the projection and checking before processing a message from the queue)? If so, is this something that is still on the roadmap (possibly with an eta?).
We are considering creating an interceptor to deflect all messages as long as the replay is running to achieve a similar effect, but that would not be ideal.
It's in the pipeline, I'm not sure where, but the ability to build out the topology without starting the bus will definitely happen.
Just to make sure we're on the same page: "build out the topology" means that this new feature will allow us to create all queues, exchanges, ... and start collecting any message published to them without having to actively consume the messages, right?
Yep.
Is there a workaround for this in the current version?
Like adding the consumers to setup the topology and then removing them again?
I cannot assure that consumer processes are started before senders or publishers.
this is truly a must, I hope a solution will come soon
Soon has come.
Most helpful comment
Yep.