示例#1
0
 def __init__(
     self,
     *,
     name: str,
     modules: List[Module],
     dependent_modules: List[Module],
     dependent_modules_nonregular: List[Module],
     replicas: int = 1,
     state_type: StateType = True,
     hooks: Optional[List[Callable]] = None,
     options={},
 ):
     self.name = name
     self._modules = modules
     self._state_type = state_type
     self.dependencies = set([m.group for m in dependent_modules])
     self.module_dependencies = set([m.name for m in dependent_modules])
     self.dependencies_nonregular = set(
         [m.group for m in dependent_modules_nonregular])
     self.module_dependencies_nonregular = set(
         [m.name for m in dependent_modules_nonregular])
     self.pool = ParallelActorPool([
         Actor.options(**options).remote(
             name=name,
             index=i if replicas > 1 else None,
             state_type=state_type,
             modules=modules,
         ) for i in range(replicas)
     ])
     self._logger = None
     self._hooks = hooks
 async def test_should_run(self, runs, actors, ray_context):
     pool = ParallelActorPool([
         MultiplyActor.remote()
         for _ in range(actors)
     ])
     await asyncio.gather(*[
         pool.run(data=0, delay=0.0001)
         for _ in range(runs)
     ])
 async def test_should_process_correctly(self, score, runs, factor, actors, ray_context):
     pool = ParallelActorPool([
         MultiplyActor.remote(factor)
         for _ in range(actors)
     ])
     results = await asyncio.gather(*[
         pool.run(data=1, delay=0.0001)
         for _ in range(runs)
     ])
     assert sum(results) == score
示例#4
0
 def __init__(
     self,
     *,
     name: str,
     modules: List[Module],
     dependent_modules: List[Module],
     dependent_modules_nonregular: List[Module],
     replicas: int = 1,
     state_type: StateType = True,
     options={},
 ):
     self.name = name
     self._modules = modules
     self._state_type = state_type
     self.dependencies = set([m.group for m in dependent_modules])
     self.module_dependencies = set([m.name for m in dependent_modules])
     self.dependencies_nonregular = set(
         [m.group for m in dependent_modules_nonregular])
     self.module_dependencies_nonregular = set(
         [m.name for m in dependent_modules_nonregular])
     self.pool = ParallelActorPool([
         Actor.options(**options).remote(name, state_type, modules)
         for _ in range(replicas)
     ])
 async def test_can_create(self, actors, ray_context):
     pool = ParallelActorPool([
         MultiplyActor.remote()
         for _ in range(actors)
     ])
     assert pool.replicas == actors