'Start consuming messages.
Can be called multiple times, but note that while it
will consume from new queues added since the last call,
it will not cancel consuming from removed queues (
use :meth:`cancel_by_queue`).
Arguments:
no_ack (bool): See :attr:`no_ack`.'

def consume(self, no_ack=None):

    queues = list(values(self._queues))
    if queues:
        no_ack = (self.no_ack if (no_ack is None) else no_ack)
        (H, T) = (queues[:(-1)], queues[(-1)])
        for queue in H:
            self._basic_consume(queue, no_ack=no_ack, nowait=True)
        self._basic_consume(T, no_ack=no_ack, nowait=False)
