用法:
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。