I am creating a new saga, but I'm getting an error that there are no
consumers, so it appears that the subscription is lost after one saga
is completed.  Here is my code that creates and publishes the saga
events:

            var outcomes = retriever.GetFile(textReader).NewsItems;
            var sagaId = Guid.NewGuid();

            bus.Send(new OutcomeImportStartedEvent() { CorrelationId =
sagaId, OutcomesToImport = outcomes.Count() });
            foreach (var o in outcomes)
            {
                 var outcomeImportedEvent = new OutcomeImportedEvent()
{ Outcome = o, CorrelationId = sagaId };
                 bus.Send(outcomeImportedEvent);
            }

On May 6, 8:45 am, "Oren Eini (Ayende Rahien)" <[email protected]>
wrote:
> 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.

Reply via email to