def run(): global pool pool1 = JobPool(2) pool2 = JobPool() if pool1 != pool2: raise Exception("hmmm, I thought JobPool is 'Singleton'") try: JobPool(4) except Exception as e: print(("As expected, making a new JobPool with a" " different cpu count failed: %s") % e) pool = JobPool() jobs = [] for j in range(1, 20): job = TestJob(str(j)) jobs.append(job) pool.enqueue_job(job) sample_job = pool.get_asynch_result_object(jobs[3]) # pool.terminate() pool.wait_for_all_jobs(ignore_error=True) # Test one of the jobs, to see if it is successful if sample_job.ready() and sample_job.successful(): assert(jobs[3].result_set is True) else: assert(jobs[3].result_set is False) errors = pool.get_all_job_errors() # print("Following job errors were raised:", errors) try: pool.wait_for_all_jobs(ignore_error=False) except Exception as e: print("Seems we have some jobs that failed (expected): ", e) errs = [pool.get_job_error(job) for job in pool.get_failed_jobs()] # print(errs) assert len(errs) == len(errors), \ "Number of errors from failed jobs: %d. Number of errors: %d" % \ (len(errs), len(errors)) assert False not in [x in errors for x in errs] # print [job.state for job in jobs] # print("Number of started jobs - number of printed results:", s) # print("Number of failed jobs:", len(errors)) assert s == len(errors), \ "Parallelization Error, what happened to the rest?"
def run(): global pool pool1 = JobPool(2) pool2 = JobPool() if pool1 != pool2: raise Exception("hmmm, I thought JobPool is 'Singleton'") try: JobPool(4) except Exception as e: print(("As expected, making a new JobPool with a" " different cpu count failed: %s") % e) pool = JobPool() jobs = [] for j in range(1, 20): job = TestJob(str(j)) jobs.append(job) pool.enqueue_job(job) sample_job = pool.get_asynch_result_object(jobs[3]) # pool.terminate() pool.wait_for_all_jobs(ignore_error=True) # Test one of the jobs, to see if it is successful if sample_job.ready() and sample_job.successful(): assert (jobs[3].result_set is True) else: assert (jobs[3].result_set is False) errors = pool.get_all_job_errors() # print("Following job errors were raised:", errors) try: pool.wait_for_all_jobs(ignore_error=False) except Exception as e: print("Seems we have some jobs that failed (expected): ", e) errs = [pool.get_job_error(job) for job in pool.get_failed_jobs()] # print(errs) assert len(errs) == len(errors), \ "Number of errors from failed jobs: %d. Number of errors: %d" % \ (len(errs), len(errors)) assert False not in [x in errors for x in errs] # print [job.state for job in jobs] # print("Number of started jobs - number of printed results:", s) # print("Number of failed jobs:", len(errors)) assert s == len(errors), \ "Parallelization Error, what happened to the rest?"
#pool.terminate() pool.wait_for_all_jobs(ignore_error=True) # Test one of the jobs, to see if it is successful if sample_job.ready() and sample_job.successful(): assert jobs[3].result_set == True else: assert jobs[3].result_set == False errors = pool.get_all_job_errors() print "Following job errors were raised:", errors try: pool.wait_for_all_jobs(ignore_error=False) except Exception as e: print "Seems we have some jobs that failed (expected): ", e errs = [pool.get_job_error(job) for job in pool.get_failed_jobs()] print errs assert len(errs) == len(errors), "Number of errors from failed jobs: %d. Number of errors: %d" %(len(errs), len(errors)) assert False not in [x in errors for x in errs] #print [job.state for job in jobs] print "Number of started jobs - number of printed results:", s print "Number of failed jobs:", len(errors) assert s == len (errors), "Parallelization Error, what happened to the rest?" print "Everything seems fine!"
# Test one of the jobs, to see if it is successful if sample_job.ready() and sample_job.successful(): assert jobs[3].result_set == True else: assert jobs[3].result_set == False errors = pool.get_all_job_errors() print "Following job errors were raised:", errors try: pool.wait_for_all_jobs(ignore_error=False) except Exception as e: print "Seems we have some jobs that failed (expected): ", e errs = [pool.get_job_error(job) for job in pool.get_failed_jobs()] print errs assert len(errs) == len( errors ), "Number of errors from failed jobs: %d. Number of errors: %d" % ( len(errs), len(errors)) assert False not in [x in errors for x in errs] #print [job.state for job in jobs] print "Number of started jobs - number of printed results:", s print "Number of failed jobs:", len(errors) assert s == len( errors), "Parallelization Error, what happened to the rest?"