+per #16348 Limit the number of messages redelivered at each interval

Helps to prevent flooding destinations which are unavailable for a long time with messages once they become available.
I think the error message is better if you use ` should be(Set.empty)`