【发布时间】:2019-10-25 14:41:13
【问题描述】:
我在 Python 3.7 中使用多处理来启动几个长时间运行的操作。每个单独的过程需要几分钟才能完成。我想要一个同时运行的每个单个进程的进度条。在我目前徒劳的尝试中,进度条不断跳动并相互替换,因此我一直无法使其正常工作。
我这样创建我的流程:
with Pool(processes=cpu_count()) as pool:
return pool.starmap(_execute_long_running_process, items)
在我的 _execute_long_running_process 函数内部是一个 for 循环,我希望进度条可以跟踪它。
for i in tqdm(list_of_things_to_process, leave=False):
# do a thing
我相信我的问题源于每个 tqdm 进度条存在于其自己的进程中,与主进程分开。我不确定有什么解决方法可以让它们按我预期的方式运行,我有几个进度条正在更新。
【问题讨论】:
标签: python multiprocessing tqdm