[英]get the name of the dask delayed object/task from within the original function?
假设我有一些 function
def f(x):
y = ... # do something
return y
然后我延迟并计算:
result = dask.delayed(f, name='Jim')(x, dask_key_name='Jim')
result.compute()
是否有可能从f
中得到Jim
的名字? 我可以向工作人员询问与当前任务关联的密钥吗?
我找到了这篇旧帖子,以下内容让我得到了一些可能有用的东西,但它不是Jim
,它是由 dask 生成的:
import dask.distributed
dask.distributed.worker.thread_state.key # Not "Jim"
这是一种方法:
def f(x):
return dask.distributed.get_worker().get_current_task()
d = dask.delayed(f)(0, dask_key_name="Jim")
assert d.compute() == 'Jim'
它在内部使用active_threads
属性来查找与当前线程关联的任务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.