def run_parallel_task()

in scripts/glue_script/run_redshift_benchmark.py [0:0]


    def run_parallel_task(self):
        
        q = Queue(maxsize=self.parallel_level)  # 设定最大队列数和线程数
        for i in range(1,self.num_runs+1):
            st = time.time()
            self.root.info("Start %s round of concurrent query test"%i)
            for j in range(1,self.num_sql_files+1):
                queryPath = self.sql_file_root+"query"+str(j) +".sql"

                # open querySQL x
                queryFile = open(queryPath,'r')
                querySQL = queryFile.read()
                # Thread run sql
                t = threading.Thread(target=self.rs_select,args=(querySQL,queryPath,'concurrent',i))
                q.put(t)
                if q.full() == True:
                    thread_list = []
                    while q.empty() == False:
                        t = q.get()
                        thread_list.append(t)
                        t.start()
                    for t in thread_list:
                        t.join()
            et=time.time()
            tt=round(et - st, 3)
            self.root.info("ROUND SUCCESS: %s round concurrent test and took %s seconds in total"%(i, tt))
            self.result_summary=self.result_summary.append(pd.Series([self.test_name,'total',i,'concurrent',st,et,tt],index=['testName','query','round','testType','startTime','endTime','elapseSeconds']),ignore_index=True)