dask distributed:如何取消fire_和_提交的任务?

dask distributed:如何取消fire_和_提交的任务?,dask,dask-distributed,Dask,Dask Distributed,使用fire_和_forget提交任务图时,是否可以稍后(在新流程/客户端中)取消这些任务(例如,按关键字名称)? 这会不会也会取消所有相关任务,或者这些任务也是“发射”和“忘记”之类的?是的,你可以用keyname创建一个新的未来 from dask.distributed import Future future = Future(key_name, my_client) future.cancel() 即使面对多个客户端,强制取消似乎也是合理的(fire-and-forget被认为是它

使用fire_和_forget提交任务图时,是否可以稍后(在新流程/客户端中)取消这些任务(例如,按关键字名称)?
这会不会也会取消所有相关任务,或者这些任务也是“发射”和“忘记”之类的?

是的,你可以用keyname创建一个新的未来

from dask.distributed import Future

future = Future(key_name, my_client)
future.cancel()
即使面对多个客户端,强制取消似乎也是合理的(
fire-and-forget
被认为是它自己的客户端)。在此处实现:。在版本>1.18.3中,您将能够使用
force=True
关键字

future.cancel(force=True)

这将取消未来,即使其他客户希望如此。

谢谢。这有多容易…:-)那么我问题的第二部分呢?如果我使用fire_和_forget提交了一个长dsk,并且我取消了最后一个任务,那么这是否也会取消图形的其余部分?或者我需要单独取消每个任务吗?是否可以设计一个长时间运行的任务,一旦它开始执行,我就可以取消它?我知道杀死一个python线程是很困难的,但是我可以使用元数据或信号来传递一个任务来干净地关闭它吗?请参阅