def test_map(init): @ray.remote class MyActor(object): def __init__(self): pass def f(self, x): return x + 1 def double(self, x): return 2 * x actors = [MyActor.remote() for _ in range(4)] pool = ActorPool(actors) index = 0 for v in pool.map(lambda a, v: a.double.remote(v), range(5)): assert v == 2 * index index += 1
def test_map_unordered(init): @ray.remote class MyActor(object): def __init__(self): pass def f(self, x): return x + 1 def double(self, x): return 2 * x actors = [MyActor.remote() for _ in range(4)] pool = ActorPool(actors) total = [] for v in pool.map(lambda a, v: a.double.remote(v), range(5)): total += [v] assert all(elem in [0, 2, 4, 6, 8] for elem in total)