到目前为止,我已经使用带有get
的dask和一个字典来定义我的任务的依赖关系图。但这意味着我必须从一开始就定义我的所有图形,现在我想不时添加新任务(依赖于旧任务)。
我已经了解了distributed
包,看起来很合适。我已经看到了两种可能的选项来定义我的图表:
使用delayed
,并定义每个任务之间的依赖关系:
t1 = delayed(f)()
t2 = delayed(g1)(t1)
t3 = delayed(g2)(t1)
dask.compute([t2, t3])
使用map
/ submit
,并执行以下操作:
t1 = client.submit(f)
t2 = client.map(g1, [t1])[0]
t3 = client.map(g2, [t1])[0]
您认为哪种更合适? 谢谢!
答案 0 :(得分:0)
如果您的目标是随着时间的推移改变计算,那么您应该使用此处描述的Dask的concurrent.futures API: