用法:
class distributed.as_completed(futures=None, loop=None, with_results=False, raise_errors=True)
按完成的顺序返回期货
这将返回一个迭代器,该迭代器按照它们完成的顺序产生输入的未来对象。在迭代器上调用
next
将阻塞,直到下一个未来完成,无论顺序如何。此外,您还可以在计算期间使用
.add
方法向该对象添加更多期货- futures: Collection of futures:
按照完成顺序迭代的 Future 对象列表
- with_results: bool (False):
是否等待并包括期货结果;在这种情况下
as_completed
产生一个元组 (future, result)- raise_errors: bool (True):
当未来的结果引发异常时我们是否应该引发;仅在
with_results=True
时影响行为。
参数:
例子:
>>> x, y, z = client.map(inc, [1, 2, 3]) >>> for future in as_completed([x, y, z]): ... print(future.result()) 3 2 4
在计算期间添加更多期货
>>> x, y, z = client.map(inc, [1, 2, 3]) >>> ac = as_completed([x, y, z]) >>> for future in ac: ... print(future.result()) ... if random.random() < 0.5: ... ac.add(c.submit(double, future)) 4 2 8 3 6 12 24
也可以选择等到结果收集完毕
>>> ac = as_completed([x, y, z], with_results=True) >>> for future, result in ac: ... print(result) 2 4 3
相关用法
- Python distributed.as_completed.batches用法及代码示例
- Python distributed.as_completed.next_batch用法及代码示例
- Python distributed.active_memory_manager.ActiveMemoryManagerPolicy.run用法及代码示例
- Python distributed.protocol.serialize.register_generic用法及代码示例
- Python distributed.Client.gather用法及代码示例
- Python distributed.recreate_tasks.ReplayTaskClient.recreate_task_locally用法及代码示例
- Python distributed.diagnostics.plugin.SchedulerPlugin用法及代码示例
- Python distributed.Client.ncores用法及代码示例
- Python distributed.Client.retire_workers用法及代码示例
- Python distributed.Client.unregister_worker_plugin用法及代码示例
- Python distributed.fire_and_forget用法及代码示例
- Python distributed.Client.set_metadata用法及代码示例
- Python distributed.Client.scheduler_info用法及代码示例
- Python distributed.Client.submit用法及代码示例
- Python distributed.Client.compute用法及代码示例
- Python distributed.SpecCluster.scale用法及代码示例
- Python distributed.get_worker用法及代码示例
- Python distributed.SpecCluster.scale_up用法及代码示例
- Python distributed.Client.nthreads用法及代码示例
- Python distributed.comm.resolve_address用法及代码示例
注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 distributed.as_completed。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。