用法:
run(function, *args, workers: list[str] | None = None, wait: bool = True, nanny: bool = False, on_error: Literal['raise', 'return', 'ignore'] = 'raise', **kwargs)
在任务调度系统之外的所有工作人员上运行函数
这会立即在所有当前已知的工作人员上调用一个函数,阻塞直到这些结果返回,然后将结果作为由工作人员地址键入的字典异步返回。此方法一般用于收集诊断信息或安装库等副作用。
如果您的函数采用名为
dask_worker
的输入参数,则该变量将由工作程序本身填充。- function:可调用的
要运行的函数
- *args:元组
远程函数的可选参数
- **kwargs:dict
远程函数的可选关键字参数
- workers:列表
在其上运行函数的工人。默认为所有已知的工人。
- wait:布尔值(可选)
如果函数是异步的,是否要等到该函数完成。
- nanny:布尔,默认 False
是否在保姆上运行
function
。默认情况下,该函数在工作进程上运行。如果指定,workers
中的地址仍应为工人地址,而不是保姆地址。- on_error: “raise” | “return” | “ignore”:
如果函数在工作人员上引发错误:
- 增加
(默认)在客户端重新引发异常。其他工人的输出将丢失。
- 返回
返回 Exception 对象而不是 worker 的函数输出
- 忽视
忽略异常并从结果字典中删除工作人员
参数:
例子:
>>> c.run(os.getpid) {'192.168.0.100:9000': 1234, '192.168.0.101:9000': 4321, '192.168.0.102:9000': 5555}
使用
workers=
关键字参数将计算限制为特定工作人员。>>> c.run(os.getpid, workers=['192.168.0.100:9000', ... '192.168.0.101:9000']) {'192.168.0.100:9000': 1234, '192.168.0.101:9000': 4321}
>>> def get_status(dask_worker): ... return dask_worker.status
>>> c.run(get_hostname) {'192.168.0.100:9000': 'running', '192.168.0.101:9000': 'running}
在后台运行异步函数:
>>> async def print_state(dask_worker): ... while True: ... print(dask_worker.status) ... await asyncio.sleep(1)
>>> c.run(print_state, wait=False)
相关用法
- Python distributed.Client.run_on_scheduler用法及代码示例
- Python distributed.Client.retire_workers用法及代码示例
- Python distributed.Client.register_worker_plugin用法及代码示例
- Python distributed.Client.replicate用法及代码示例
- Python distributed.Client.gather用法及代码示例
- Python distributed.Client.ncores用法及代码示例
- Python distributed.Client.unregister_worker_plugin用法及代码示例
- Python distributed.Client.set_metadata用法及代码示例
- Python distributed.Client.scheduler_info用法及代码示例
- Python distributed.Client.submit用法及代码示例
- Python distributed.Client.compute用法及代码示例
- Python distributed.Client.nthreads用法及代码示例
- Python distributed.Client.unpublish_dataset用法及代码示例
- Python distributed.Client.start_ipython_scheduler用法及代码示例
- Python distributed.Client.get用法及代码示例
- Python distributed.Client.publish_dataset用法及代码示例
- Python distributed.Client.who_has用法及代码示例
- Python distributed.Client.get_versions用法及代码示例
- Python distributed.Client.profile用法及代码示例
- Python distributed.Client.map用法及代码示例
注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 distributed.Client.run。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。