1

场景:用户 A 连接到 dask 调度程序,发送一个长作业使用client.map(func, list)并在周末注销。用户 B 想要查看用户 A 创建的已完成期货的结果,并可能取消挂起的期货。

我们设法在工人中获得了期货的结果,如下所示:

from dask.distributed import Client
from distributed.client import Future

client = Client("tcp://scheduler_ip:8786")
for worker, futures in client.has_what().items():
    for future_id in futures:
        f = Future(future_id, client)
        f._state.status = "finished"
        print(f.result())

做一个f.cancel()什么都不做。有没有办法做到这一点?

4

1 回答 1

0

股票期货

您可能会考虑使用变量和队列等结构来共享期货。有关更多信息,请参阅这些文档

取消期货

如果任务尚未开始,取消将停止它。不幸的是,一旦一个函数开始运行,没有办法阻止它,除非杀死那个工人。

于 2017-08-25T22:02:19.053 回答