首页 > 技术文章 > 多进程执行测试用例-----multiprocessing

nieliangcai 2020-08-25 15:08 原文

 

使用多进程执行测试用例,进程数和运行case的机器有关,一核一个进程数

import multiprocessing
if __name__ == "__main__":
    # 设置进程池
    pool = multiprocessing.Pool(processes=4)
    # 提供数据
    py_test_list = get_test_case_path(TESTCASES_DIR)
    for i in py_test_list:
        pool.apply_async(func, (i,))  # 维持执行的进程总数为processes,当一个进程执行完毕后会添加新的进程进去

    start_time = datetime.now()
    print(f"进程开始了~~~~~~~{start_time}~~~~~~~~~~~~~~~")
    pool.close()
    pool.join()  # 调用join之前,先调用close函数,否则会出错。执行完close后不会有新的进程加入到pool,join函数等待所有子进程结束
    end_time = datetime.now()
    print(f"所有进程结束~~~~~~~~~~{end_time}~~~~~~~~~~")
    print(f"运行所有case总耗时:{end_time - start_time}")

 

推荐阅读