code: def loop(self, max_seconds=None):
          
          loop_started =  datetime.datetime.now()
  
          self._is_running = True
          while self._is_running:
              self.process_error_queue(self.q_error)
  
              if max_seconds is not None:
                  if (datetime.datetime.now() - loop_started).total_seconds() > max_seconds:
                      break
              for subprocess in self._subprocesses:
                  if not subprocess.is_alive():
                      subprocess.start()
  
              self.process_io_queue(self.q_stdout, sys.stdout)
              self.process_io_queue(self.q_stderr, sys.stderr)
docs: Main loop for the process. This will run continuously until maxiter