def bind_queue(queue, routing_keys)
      unbind_redundant_bindings(queue, routing_keys)

      # Ensure all the desired bindings are present
      routing_keys.each do |routing_key|
        logger.debug "creating binding #{queue.name} <--> #{routing_key}"
        queue.bind(exchange, routing_key: routing_key)
      end
    end
Bind a queue to the broker's exchange on the routing keys provided. Any
existing bindings on the queue that aren't present in the array of
routing keys will be unbound.