python ray 未完成所有远程调用
python ray not completing all remote calls
所以我有一个简单的脚本
import ray
import requests as r
ray.init()
@ray.remote
def f(i):
print(i)
r.get("http://127.0.0.1:5000/" + str(i))
return i
if __name__ == "__main__":
for k in range(1000):
f.remote(k)
当我 运行 此脚本仅发生 250 次远程调用时,程序终止而不是执行所有 1000 次远程调用。
看了ray browser仪表板我真的一点头绪都没有
当我设置 local_mode=True 时程序完成所有 1000 次调用
f.remote(k)
开始 执行远程调用,但不等待调用完成。因此程序在调用完成之前完成并关闭。
您应该使用 ray.get
来确保调用完成。
refs = []
for k in range(1000):
refs.append(f.remote(k)
ray.get(refs)
有关详细信息,请参阅 this answer。
所以我有一个简单的脚本
import ray
import requests as r
ray.init()
@ray.remote
def f(i):
print(i)
r.get("http://127.0.0.1:5000/" + str(i))
return i
if __name__ == "__main__":
for k in range(1000):
f.remote(k)
当我 运行 此脚本仅发生 250 次远程调用时,程序终止而不是执行所有 1000 次远程调用。
看了ray browser仪表板我真的一点头绪都没有
当我设置 local_mode=True 时程序完成所有 1000 次调用
f.remote(k)
开始 执行远程调用,但不等待调用完成。因此程序在调用完成之前完成并关闭。
您应该使用 ray.get
来确保调用完成。
refs = []
for k in range(1000):
refs.append(f.remote(k)
ray.get(refs)
有关详细信息,请参阅 this answer。