首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >任务上的进程池

任务上的进程池
EN

Stack Overflow用户
提问于 2019-03-01 21:56:38
回答 2查看 179关注 0票数 0

我是DASK的新手。

我可以使用client.map(funct_name,迭代器)提交10个任务,其中迭代器是一个包含10个元素的列表。

现在,当之前提交的10个任务中的任何一个任务完成时,我想提交下一个任务,比如说第11个任务。

我知道在python中有一种叫做进程池的东西。但是我想使用DASK来实现类似于进程池的东西。

请有人指导我使用DASK进程池。

EN

回答 2

Stack Overflow用户

发布于 2019-03-01 22:48:44

您可以做的最简单的事情是在提交新工作之前使用wait

代码语言:javascript
复制
futs = client.map(funct_name, iterator)
distributed.wait(futs)
out = client.submit(eleventh, args)

然而,如果您想在前十项工作完成时提交您的新工作,但让它自动等待,直到所有工作都完成,您可以构造一个表面上依赖于前一项工作,但实际上并不利用它们的假任务

代码语言:javascript
复制
futs = client.map(funct_name, iterator)

def run_eleventh(args, deps):
    return eleventh(args)

out = client.submit(run_eleventh, (args, futs))
票数 1
EN

Stack Overflow用户

发布于 2019-03-07 00:10:38

您可能希望在此处查看as_completed对象:

http://docs.dask.org/en/latest/futures.html#waiting-on-futures

代码语言:javascript
复制
from dask.distributed import as_completed

futures = client.map(score, x_values)

for future in as_completed(futures):
    ...
    client.submit(...)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54946143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档