Duplicate Retries middleware causes retry count multiplication
warningWhen adding a Retries middleware to a broker using broker.add_middleware(Retries(max_retries=N)), the broker does not replace its default Retries middleware (which has max_retries=20). Instead, both middleware instances remain active, resulting in retry attempts being multiplied. For example, configuring max_retries=3 can result in 6-8 actual retry attempts, which clogs downstream workers with duplicate requests.
Initialize the broker with an empty middleware list to prevent default middlewares from being loaded: broker = RedisBroker(middleware=[]). Then explicitly add only the middlewares needed, including a single Retries middleware with the desired max_retries value. This ensures only one Retries middleware is active and retry behavior matches configuration.