启动调度器
dask-scheduler
启动一个worker并将自己注册到调度器
dask-worker 192.168.0.109:8786
然后编写代码执行
from dask.distributed import Client
if __name__ == "__main__":
client = Client("tcp://192.168.0.109:8786")
a = client.map(lambda x: x ** 2, range(10))
b = client.map(lambda x: x + 1, a)
c = client.map(lambda x: -x, b)
re = client.submit(sum, c).result()
print(re)
过程:任务代码,提交给调度器,调度器选择worker执行
=====
问题:
调度器怎么决定使用哪个worker?怎么自定义调度器的调度策略?
1-直接修改调度器源码
2-或者看官方文档,可以在启动调度器之前指定一个preload参数,并配置些东西
Customize Initialization — Dask documentation
当前调度器插件只支持这些参数,似乎并不能自定义选择worker的策略,add_worker看了下也没这些设置。插件只能做些日志上报之类的辅助功能
3-自定义客户端。能否在创建客户端的时候指定想用哪个worker ?
distributed.client.Client.submit