我正在使用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
进度条都存在于与主进程分离的单独进程中。我不确定解决方法是什么,以使它们表现出我期望的多个进度条每个都被更新。