title: MassTransit - Send & Publish : in between
body: <p>I have understood the difference between Send (~1 consumer called) &amp; Publish (all consumers called). In my environment I would like something in between.</p>
  
  <p><strong>For exemple :</strong></p>
  
  <p>A parcel is prepared and ready to be shipped. An event can be sent "ParcelPrepared". On this event, 2 actions should be triggered : "Build Invoice" &amp; "Send Email". But each actions should be called only once.</p>
  
  <p>Actually I only managed to do that with a Send and both actions are hosted in the same .net process (but I don't want that). If each actions is hosted on different process, only one of them will be triggered.</p>
  
  <p>If I use Publish, all process will be called and I could send <em>N</em> emails or build <em>N</em> invoices, and I will lost messages if the process are down.</p>
  
  <p>Did I missed something ?</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>Here is schema of what I would like to achieve.</p>
  
  <p><a href="https://i.stack.imgur.com/QH0pD.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/QH0pD.png" alt="Objective"></a></p>
  
  <p>Many process "Parcel Preparation" can emit a message (command/event I don't know) "Parcel Prepared".</p>
  
  <p>Different consumers ("Invoicing" and "Email Sender") wants to be notified when the message is emitted. Each consumer is instanciated multiple times. Only one of each consumer should be notified to avoid to handle concurrency on each consumer.</p>
  
  <p>Each consumer should be able to receive the missed messages if they are down some reason, even if only part of consumer are down ("Invoicing" up and "Email Sender" down, both down).</p>