如何避免将任务中的dask任务提交给主计划程序

如何避免将任务中的dask任务提交给主计划程序,dask,dask-distributed,Dask,Dask Distributed,文档显示dask worker中dask.compute的默认行为是在主调度程序上启动任务 我的愿望不是在主计划程序上启动。我的任务是执行两个步骤:使用非python二进制文件处理复制到本地磁盘上的0.1-1.0 TB数据,然后使用dask转换数据并将其写入zarr存储。二进制文件是多线程的,我还希望以多进程或多线程本地方式在本地使用dask 对于这个worker,我使用多核机器,但只为dask worker保留一个线程。我相信这意味着我的任务可以将机器上的所有内核用于上述两个步骤 这是一个可行

文档显示dask worker中
dask.compute
的默认行为是在主调度程序上启动任务

我的愿望不是在主计划程序上启动。我的任务是执行两个步骤:使用非python二进制文件处理复制到本地磁盘上的0.1-1.0 TB数据,然后使用dask转换数据并将其写入zarr存储。二进制文件是多线程的,我还希望以多进程或多线程本地方式在本地使用dask

对于这个worker,我使用多核机器,但只为dask worker保留一个线程。我相信这意味着我的任务可以将机器上的所有内核用于上述两个步骤


这是一个可行的模型吗?我该如何调用
compute
distributed.Client().compute
似乎不起作用)?是否有其他方法可以在计算机上以独占方式运行二进制文件,并通过任务运行并行zarr write?

调用dask.compute时,您可以指定一个scheduler=选项,如下所示:

dask.compute(x, y, scheduler="processes")

有关更多信息,请参见调用dask.compute时,您可以指定如下所示的scheduler=选项:

dask.compute(x, y, scheduler="processes")
有关更多信息,请参阅