code: def run(cls, raw_data):
          
          logger.debug("{}.ReceivedFromKafka: {}".format(
              cls.__name__, raw_data
          ))
          try:
              kmsg = cls._onmessage(cls.TRANSPORT.loads(raw_data))
          except Exception as exc:
              logger.error(
                  "{}.ImportError: Failed to load data from kafka: {}".format(
                      cls.__name__, exc
                  ),
                  extra=dict(kafka_raw_data=raw_data)
              )
              return Result.from_exception(exc)
  
          try:
              cls.start_processing(kmsg)
              if kmsg.entrypoint not in cls.ENTRYPOINTS:
                  raise ValidationError(
                      "Entrypoint '{}' not registred".format(kmsg.entrypoint),
                      extra=dict(
                          uuid=kmsg.uuid, entrypoint=kmsg.entrypoint,
                          allowed=list(cls.ENTRYPOINTS.keys())
                      )
                  )
  
              result = cls.ENTRYPOINTS[kmsg.entrypoint].from_Message(
                  kmsg
              ).execute()
  
          except Exception as exc:
              result = Result.from_exception(exc, kmsg.uuid)
  
          finally:
              cls.stop_processing()
              # noinspection PyUnboundLocalVariable
              if result and result.retcode < 300:
                  return cls._onsuccess(kmsg=kmsg, result=result)
              else:
                  return cls._onerror(kmsg=kmsg, result=result)
docs: description of run