docs: def consume(self, queue, consumer, consumer_tag='', no_local=False,
                  no_ack=True, exclusive=False, nowait=True, ticket=None,
                  cb=None, cancel_cb=None):
          '''Start a queue consumer.
  
          Accepts the following optional arg in addition to those of
          `BasicClass.consume()`:
  
          :param cancel_cb: a callable to be called when the broker cancels the
            consumer; e.g., when the consumer's queue is deleted. See
            www.rabbitmq.com/consumer-cancel.html.
          :type cancel_cb: None or callable with signature cancel_cb(consumer_tag)
          '''
          # Register the consumer's broker-cancel callback entry
          if cancel_cb is not None:
              if not callable(cancel_cb):
                  raise ValueError('cancel_cb is not callable: %r' % (cancel_cb,))
  
          if not consumer_tag:
              consumer_tag = self._generate_consumer_tag()
  
          self._broker_cancel_cb_map[consumer_tag] = cancel_cb
  
          # Start consumer
          super(RabbitBasicClass, self).consume(queue, consumer, consumer_tag,
                                                no_local, no_ack, exclusive,
                                                nowait, ticket, cb)