'Start a queue consumer.
Consumers last as long as the channel they were created on, or
until the client cancels them.
Arguments:
consumer_tag (str): Unique identifier for the consumer.
The consumer tag is local to a connection, so two clients
can use the same consumer tags. If this field is empty
the server will generate a unique tag.
no_ack (bool): If enabled the broker will automatically
ack messages.
nowait (bool): Do not wait for a reply.
callback (Callable): callback called for each delivered message.'

def consume(self, consumer_tag=u'', callback=None, no_ack=None, nowait=False):

    if (no_ack is None):
        no_ack = self.no_ack
    return self.channel.basic_consume(queue=self.name, no_ack=no_ack, consumer_tag=(consumer_tag or u''), callback=callback, nowait=nowait, arguments=self.consumer_arguments)
