python ray未完成所有远程调用

所以我有一个简单的脚本


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 个远程调用。


即使查看了射线浏览器仪表板后我真的不知道


当我设置 local_mode=True 时,程序完成所有 1000 个调用


慕桂英3389331
浏览 1596回答 1
1回答

holdtom

f.remote(k) 开始执行远程调用,但不等待调用完成。因此,程序在调用完成之前完成并关闭。您应该使用它ray.get来确保呼叫完成。refs = [] for k in range(1000):     refs.append(f.remote(k) ray.get(refs)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python