<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 26/07/13 14:18, Matthias Radestock
      wrote:<br>
    </div>
    <blockquote cite="mid:51F27730.3030203@rabbitmq.com" type="cite">On
      26/07/13 13:25, Will Hughes wrote:
      <br>
      <br>
      <blockquote type="cite">Another option I was thinking of to
        enforce more a delay was to see if I
        <br>
        could chain together two queues using dead-letter-exchange
        settings:
        <br>
        <br>
        Queue A, no TTL, DLX=Exchange B (with Queue B bound to it).
        <br>
        Queue B, ttl of (x) seconds, DLX= Exchange A (with Queue A bound
        to it).
        <br>
        <br>
        When we NAck the mesage from Queue A, we set requeue=false.
        <br>
        <br>
        I've not seen much discussion so far on whether it's sane to
        hook up two
        <br>
        queues/exchanges in a loop like this.
        <br>
      </blockquote>
      <br>
      Yep, that makes perfect sense and should work well.
      <br>
    </blockquote>
    <br>
    Implemented exactly as described there, it yields an infinite loop
    for unprocessable messages. You might therefore also want to keep a
    count of the number of processing attempts in a header on the
    message, and more thoroughly reject messages which reach some
    maximum number of attempts. I think you could do the final rejection
    by setting a routing key on the message when you reject it for the
    last time, and having exchange B be a direct exchange which routes
    to either queue B or some final deadletter queue.<br>
    <br>
    If you want exponential backoff in the retries, then life gets more
    complicated (multiple timeout queues, selected between by a routing
    key set by the consumer of A?). We are currently pussyfooting around
    this issue at my company. I will report back here if we ever
    implement a good solution!<br>
    <br>
    tom<br>
    <br>
    <div class="moz-signature">-- <br>
      <p>Tom Anderson | Developer | +44 20 7826 4312 | <a
          href="http://timgroup.com/">timgroup.com</a></p>
      <div style="color:DarkGrey; font-size: small;">
        <p>STATEMENT OF CONFIDENTIALITY: The information contained in
          this electronic message and any attachments to this message
          are intended for the exclusive use of the addressee(s) and may
          contain confidential or privileged information. If you are not
          the intended recipient, please notify Tom Anderson at TIM
          Group at <a class="moz-txt-link-abbreviated" href="mailto:tom.anderson@timgroup.com">tom.anderson@timgroup.com</a> and destroy all copies of
          this message and any attachments.</p>
        <p>TIM Group is the trading name for YouDevise Limited.
          YouDevise Limited is registered in England, No. 3331176.
          Registered office: 3 Copthall Avenue, London, EC2R 7BH.</p>
      </div>
    </div>
  </body>
</html>