docs: def get_consumer(self, cfg):
          """Import and create a new instance of the configured message consumer.
  
          :param dict cfg: The named consumer section of the configuration
          :rtype: instance
          :raises: ImportError
  
          """
          try:
              handle, version = utils.import_consumer(cfg['consumer'])
          except ImportError as error:
              LOGGER.exception('Error importing the consumer %s: %s',
                               cfg['consumer'], error)
              return
  
          if version:
              LOGGER.info('Creating consumer %s v%s', cfg['consumer'], version)
              self.consumer_version = version
          else:
              LOGGER.info('Creating consumer %s', cfg['consumer'])
  
          settings = cfg.get('config', dict())
          settings['_import_module'] = '.'.join(cfg['consumer'].split('.')[0:-1])
  
          kwargs = {
              'settings': settings,
              'process': self,
              'drop_exchange': cfg.get('drop_exchange'),
              'drop_invalid_messages': cfg.get('drop_invalid_messages'),
              'message_type': cfg.get('message_type'),
              'error_exchange': cfg.get('error_exchange'),
              'error_max_retry': cfg.get('error_max_retry')
          }
  
          try:
              return handle(**kwargs)
          except Exception as error:
              LOGGER.exception('Error creating the consumer "%s": %s',
                               cfg['consumer'], error)
              self.send_exception_to_sentry(sys.exc_info())
              self.on_startup_error('Failed to create consumer {}: {}'.format(
                  self.consumer_name, error))