def runJobs(self, maxJobs):
jobsrunning = self.__numRunningProcs<EOL>if(maxJobs > <NUM_LIT:1>):<EOL><INDENT>jobsindx = <NUM_LIT:0><EOL>while(jobsindx<len(self.testQ) or jobsrunning><NUM_LIT:0>):<EOL><INDENT>if(jobsindx<len(self.testQ) and jobsrunning<maxJobs):<EOL><INDENT>curJob = self.testQ[jobsindx]<EOL>p = Process(target = curJob[<NUM_LIT:0>], args = curJob[<NUM_LIT:1>])<EOL>p.start()<EOL>self.__procs.append(p)<EOL>jobsindx+=<NUM_LIT:1><EOL><DEDENT>if jobsrunning >= maxJobs:<EOL><INDENT>time.sleep(<NUM_LIT:30>)<EOL>print ("<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>elif jobsindx == len(self.testQ):<EOL><INDENT>time.sleep(<NUM_LIT:30>)<EOL>print("<STR_LIT>")<EOL><DEDENT>jobsrunning = self.__updateProcessCounter()<EOL>for proc in self.__procs:<EOL><INDENT>if proc.exitcode == <NUM_LIT:1>:<EOL><INDENT>self.cancelJobs()<EOL>assert False, ("<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT><DEDENT><DEDENT><DEDENT>try:<EOL><INDENT>while True:<EOL><INDENT>result = self.__resultQ.get(True, <NUM_LIT:5>)<EOL>self.assertBenchmarks(result)<EOL><DEDENT><DEDENT>except Empty:<EOL><INDENT>pass<EOL><DEDENT>
Function that launched Hypersearch benchmark jobs.
        Runs jobs contained in self.testQ, until maxJobs are running
        in parallel at which point it waits until some jobs finish.