RabbitMQ does not offer bulk sending. However, when I looked into this, I did discover the rabbitmq backend does not use channel.wait_for_confirms() in send_message() despite configuring with channel.confirm_delivery().
Originally posted by @ric-evans in #58
Implementing wait_for_confirms() will inevitably slow down sending, but increase assurance. With a stable connection, we have not seen any notable cases of sends failing -- most likely this is because if the connection is unstable, then other things in the pipeline fail more drastically.
confirm_delivery() may currently be slowing down the broker.
Questions:
- Do we make this configurable, i.e. use both
wait_for_confirms() and confirm_delivery(), or neither?
- Do we add a sort of quasi-batch sending where
wait_for_confirms() is called on an intermittent basis?
- What happens if
wait_for_confirms() raises an exception? Do we persist so we can resend?
Originally posted by @ric-evans in #58
Implementing
wait_for_confirms()will inevitably slow down sending, but increase assurance. With a stable connection, we have not seen any notable cases of sends failing -- most likely this is because if the connection is unstable, then other things in the pipeline fail more drastically.confirm_delivery()may currently be slowing down the broker.Questions:
wait_for_confirms()andconfirm_delivery(), or neither?wait_for_confirms()is called on an intermittent basis?wait_for_confirms()raises an exception? Do we persist so we can resend?