title: MassTransit how to handle Start/Stop when Queue is down
body: <p>I am using RabbitMQ 3.6.0 with MasstTransit 3.2.0 and configure it as following:</p>
  
  <pre><code>// MassTransit
  IBusControl bus = Bus.Factory.CreateUsingRabbitMq(cfg =&gt;
  {
      var host = cfg.Host(new Uri(configuration.Url), h =&gt;
      {
          h.Username(configuration.User.UserName);
          h.Password(configuration.User.Password);
      });
  
      cfg.UseXmlSerializer();
  
      cfg.ReceiveEndpoint(host, configuration.Queue, e =&gt;
      {
      });
  });
  </code></pre>
  
  <p>And I start it as following:</p>
  
  <pre><code>// start the bus
  IBusControl bus = container.Resolve&lt;IBusControl&gt;();
  bus.Start();
  </code></pre>
  
  <p>Unfortunately when RabbitMQ is down, and this is a scenario I have in my architecture, the method <code>bus.Start()</code> hang for a while until it bombs and throw an exception.
  Is there an alternative pattern that I can use so the application notifies via "log" that the Queue is down and I can try later to run <code>bus.Start()</code>?</p>