docs: def start(self, max_messages=math.inf, commit_offsets=True):
          """Start processing Kafka messages and executing jobs.
  
          :param max_messages: Maximum number of Kafka messages to process before
              stopping. If not set, worker runs until interrupted.
          :type max_messages: int
          :param commit_offsets: If set to True, consumer offsets are committed
              every time a message is processed (default: True).
          :type commit_offsets: bool
          :return: Total number of messages processed.
          :rtype: int
          """
          self._logger.info('Starting {} ...'.format(self))
  
          self._consumer.unsubscribe()
          self._consumer.subscribe([self.topic])
  
          messages_processed = 0
          while messages_processed < max_messages:
              record = next(self._consumer)
  
              message = Message(
                  topic=record.topic,
                  partition=record.partition,
                  offset=record.offset,
                  key=record.key,
                  value=record.value
              )
              self._process_message(message)
  
              if commit_offsets:
                  self._consumer.commit()
  
              messages_processed += 1
  
          return messages_processed