As pointed out in #458:
Outbox retries exhaust quickly when broker is down. When the RabbitMQ broker is unreachable, EnsureChannel() throws immediately on every dispatch attempt. The outbox dispatcher retries in rapid succession, consuming all MaxDeliveryAttempts within seconds rather than backing off. A short-circuit mechanism in the outbox dispatcher — skipping dispatch attempts while the transport reports unhealthy and resuming when the connection recovers — would prevent this. This is a transport-agnostic outbox concern and should be addressed separately. I believe I saw a branch that adds the short-circuit but just wanted to call that out here as I noticed this issue in local testing.
As pointed out in #458:
Outbox retries exhaust quickly when broker is down. When the RabbitMQ broker is unreachable, EnsureChannel() throws immediately on every dispatch attempt. The outbox dispatcher retries in rapid succession, consuming all MaxDeliveryAttempts within seconds rather than backing off. A short-circuit mechanism in the outbox dispatcher — skipping dispatch attempts while the transport reports unhealthy and resuming when the connection recovers — would prevent this. This is a transport-agnostic outbox concern and should be addressed separately. I believe I saw a branch that adds the short-circuit but just wanted to call that out here as I noticed this issue in local testing.