似乎是客户端方法
register_worker_callbacks
在某处
要放置变量,因为在python中没有真正的全局作用域。例如,某个地方可以是导入模块的任何属性,任何工作人员都可以访问该属性。您也可以将其添加为worker实例本身的属性,但我看不出有明显的理由要这样做。
def attach_var(name, value):
import re
re.__setattr__(name, value)
client.run(attach_var, 'x', 1)
def use_var():
# any function running on a worker can do this, via delayed or
# whatever method you pass with
import re
return re.x
client.run(use_var)
在继续之前,你是否已经考虑过
delayed(calib_data)
或
scatter
futures = client.scatter(calib_data, broadcast=True)
或者使用普通的
delayed
dcalib = dask.delayed(load_calib_data)()
work = dask.delayed(process_stuff)(dataset1, dcalib)