This diff is a part of the stack to fix the AMQP client reconnection issue.
The `waitUntilReady` function handles waiting for reconnection. This function uses on `send()` and `ack()` methods which send and acknowledge the message correspondingly.
The expected behavior is that we must wait while the connection/channel became available instead of throwing an error and stop the execution.
Related linear task: [[ https://linear.app/comm/issue/ENG-1495/amqp-cpp-client-throwing-a-segmentation-error-in-a-highmid-load-and | ENG-1495 ]]