docs: def run(self):
          '''
          Overrides :meth:`python:threading.Thread.run`.
          '''
          global _global_kill
  
          for message in self._messages:
  
              # Get the message contents from the batch file
              batch_file = self._getBatchFile(message)
              message_contents = batch_file.getMessage(message)
              self._logger.debug(
                  'Read message {:}, waiting to be put into queue'
                  .format(message))
  
              # Then repeatedly try to put the contents into the queue,
              # occasionally timing out so that we might catch the kill signal
              put_succeeded = False
              while not put_succeeded:
  
                  if _global_kill.isSet():
                      return
  
                  try:
                      self._queue.put(message_contents, block=True, timeout=1.0)
                  except Full:
                      pass
                  else:
                      put_succeeded = True
                      self._logger.debug('Message put into queue')