问题描述
我能够在 ray 仪表板上看到哪些功能被分配给了哪个工作人员。是否可以打印出哪个工作人员执行了哪个功能而不是在仪表板上查找?
代码示例:
@ray.remote
def mul1(x):
return x*x
@ray.remote
def mul2(y):
return y*y
@ray.remote
def add(x,y):
return x+y
futures = add.remote(mul1.remote(2),mul2.remote(3))
ray.get(futures)
期望输出
PID: 2838 - mul2()
PID: 2848 - black()
PID: 2838 - add()
解决方法
我完全没有使用 ray 的经验,但是从纯 python 方面你可以编写一个简单的装饰器:
def print_name(func):
@wraps(func)
def deco(*args,**kwargs):
print(func.__name__)
return func(*args,**kwargs)
return deco
把它放在@ray.remote
使用示例:
@ray.remote
@print_name
def my_func():
pass