--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-dis...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/masstransit-discuss?hl=en.
-d
> To post to this group, send email to masstrans...@googlegroups.com.
> To unsubscribe from this group, send email to masstransit-dis...@googlegroups.com.
To post to this group, send email to masstrans...@googlegroups.com.
To unsubscribe from this group, send email to masstransit-dis...@googlegroups.com.
Dru, Thank you for your response. Your example makes sense but is it
the most efficient use of server resources? If B messages start to
become too great they need to be moved to another box in order to make
sure that the A messages will execute quickly. But when there are no A
messages you just have a server sitting their idle while when it could
be used for B messages.
Perhaps most importantly, is that all of these messages will still be
hitting one SQL server. I would rather the sql server not get
inundated with requests by both A and B messages at the same time,
especially during peak usage hours. I could use a scheduler to only
process B messages during off-peak hours but thats too much of an all
or nothing approach. It would be nice if the B messages were processed
in a timely manor - but only if its not going to bog the SQL server
down.
Additionally, you could write an Accept<TMessage> method that kept
track of all the messages it saw and only accepted the lower priority
messages when it saw it got back to the start of the queue without
accepting a message. This could get nasty if you have multiple
consuming threads because of locking issues, but it's not
insurmountable at all.
The entire pipeline for MT is pretty plugable. It's not always the
easiest thing to do, but you could inject some magic in there if you'd
like as well.
So we don't have the full context of what you're trying to do, but
having separate consumers does not mean you're throwing more hardware
at it.
-Travis
Implement IWorkerSelectionStrategy,
https://github.com/MassTransit/MassTransit/blob/599a4c1357100d84d430dda5c559321333603a72/src/MassTransit/Distributor/IWorkerSelectionStrategy.cs.
Return no end points if the message is to be throttled.
Is the default one.
There is a distributor sample in the zip download or if you build from
source. We don't include samples in the nuget packages, right?
-Travis