ray.util.ActorPool.get_next_unordered#

ActorPool.get_next_unordered(timeout=None, ignore_if_timedout=False)[源代码]#

返回任何下一个待处理的结果。

这将返回由 submit() 产生的一些结果,最多阻塞指定的时间直到结果可用。与 get_next() 不同,结果并不总是以提交的相同顺序返回,这可以提高性能。

返回:

下一个结果。

抛出:

TimeoutError – 如果达到超时时间。

示例

import ray
from ray.util.actor_pool import ActorPool

@ray.remote
class Actor:
    def double(self, v):
        return 2 * v

a1, a2 = Actor.remote(), Actor.remote()
pool = ActorPool([a1, a2])
pool.submit(lambda a, v: a.double.remote(v), 1)
pool.submit(lambda a, v: a.double.remote(v), 2)
print(pool.get_next_unordered())
print(pool.get_next_unordered())
4
2