Ryan, Each customer create a NEW saga.
On Sun, May 6, 2012 at 4:45 PM, RyanL <[email protected]> wrote: > Also how does making the consumer go away make sense? Using Starbucks > as an example, this would mean you can only handle taking a single > order. The next customer could not place an order. > > On May 5, 12:27 pm, Ryan Langton <[email protected]> wrote: > > Ok, is there any way to implement this sort of behavior then? > > Users are importing entities. I want an action to occur on each entity > > import and another action to occur when the import is 100% complete. I > > assumed sagas would be the best way to handle this. But I need to allow > > users to perform multiple imports as well as possible simultaneous > imports > > (multiple users importing at the same time - edge case). The import > files > > can be quite large to where putting all of the entities in a single > message > > can easily exceed the limitations of msmq. > > > > Just looking for ideas. Thanks for the response. > > > > On Sat, May 5, 2012 at 6:40 AM, Oren Eini (Ayende Rahien) < > [email protected] > > > > > > > > > > > > > > > > > wrote: > > > Once the saga is completed, it is just that, completed, done. > > > This is the by design behavior. > > > > > On Fri, May 4, 2012 at 10:17 PM, RyanL <[email protected]> wrote: > > > > >> I have a saga. Once it completes the saga consumer disappears and > > >> future messages get an error "Got Message X, but had no consumers for > > >> it". What do I do to leave the consumer / subscription active and > > >> just start a new saga? Here is my class: > > > > >> public class OutcomeImportSagaLuceneIndexer : > > >> ISaga<OutcomeImportState>, > > > > >> InitiatedBy<OutcomeImportStartedEvent>, > > > > >> Orchestrates<OutcomeImportedEvent> > > >> { > > >> private readonly ILuceneRepository<OutcomeListModel> > > >> repository; > > > > >> public > > >> OutcomeImportSagaLuceneIndexer(ILuceneRepository<OutcomeListModel> > > >> repository) > > >> { > > >> this.repository = repository; > > >> State = new OutcomeImportState(); > > >> } > > > > >> public void Consume(OutcomeImportStartedEvent message) > > >> { > > >> State.OutcomesToImport = message.OutcomesToImport; > > >> } > > > > >> public void Consume(OutcomeImportedEvent message) > > >> { > > >> repository.Upsert(MapToLuceneListRecord(message.Outcome)); > > >> State.OutcomesImported++; > > >> if (State.OutcomesImported < State.OutcomesToImport) > > >> return; > > > > >> repository.RebuildIndex(); > > >> IsCompleted = true; > > >> } > > > > >> private static OutcomeListModel > > >> MapToLuceneListRecord(OutcomeViewModel model) > > >> { > > >> return Mapper.Map<OutcomeViewModel, > > >> OutcomeListModel>(model); > > >> } > > > > >> public Guid Id { get; set; } > > >> public bool IsCompleted { get; set; } > > >> public OutcomeImportState State { get; set; } > > >> } > > > > >> -- > > >> You received this message because you are subscribed to the Google > Groups > > >> "Rhino Tools Dev" group. > > >> To post to this group, send email to [email protected] > . > > >> To unsubscribe from this group, send email to > > >> [email protected]. > > >> For more options, visit this group at > > >>http://groups.google.com/group/rhino-tools-dev?hl=en. > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "Rhino Tools Dev" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]. > > > For more options, visit this group at > > >http://groups.google.com/group/rhino-tools-dev?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Rhino Tools Dev" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/rhino-tools-dev?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Rhino Tools Dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rhino-tools-dev?hl=en.
