I'm working on a document printing system where the user wants to print a batch of documents in a desired order. The batch could be 20 docs it could be a few hundred.
My first option is to use message sequencing and queue up several hundred print doc messages in a sequence. My concern here is that with a multi threaded handler can we really guarantee that the document will come out of the printer in the right order? and what happens if one of the documents fails will the rest be stuck in limbo for ever or could they be pushed through somehow?
The other option is to use a saga. The saga can take 1 big print batch message containing all the paths and then split this into individual print doc messages and publish them one at a time after receiving the response from the previous one. This gives me options in terms of handling errors and timing out
The Saga seems to be the best option to but I'm wondering if there is a compelling reason to use the message sequencing instead?
Thanks
~Brett