【发布时间】:2020-05-21 09:06:58
【问题描述】:
我有三个函数使用 papermill 执行 3 个不同的 jupyter 笔记本,我希望第一个 (job1) 和第二个 (job2) 函数同时运行,最后一个函数 (job3) 仅在第一个函数 (job1) 运行时运行完成运行,没有任何错误。我不确定为第二个函数创建一个新线程或如何正确使用 join() 方法是否有意义。 我在 Windows 上运行,由于某种原因 concurrent.futures 和多处理不起作用,这就是我使用线程模块的原因。
def job1():
return pm.execute_notebook('notebook1.ipynb',log_output=False)
def job2():
return pm.execute_notebook('notebook2.ipynb',log_output=False)
def job3():
return pm.execute_notebook('notebook3.ipynb',log_output=False)
t1 = threading.Thread(target = job1)
t2 = threading.Thread(target = job2)
t3 = threading.Thread(target = job3)
try:
t1.start()
t1.join()
t2.start()
except:
pass
finally:
t3.start()
【问题讨论】:
标签: python concurrency jupyter-notebook python-multithreading papermill