ray.rllib.env.env_runner_group.EnvRunnerGroup.foreach_worker#

EnvRunnerGroup.foreach_worker(func: Callable[[EnvRunner], T], *, local_env_runner: bool = True, healthy_only: bool = True, remote_worker_ids: List[int] = None, timeout_seconds: float | None = None, return_obj_refs: bool = False, mark_healthy: bool = False, local_worker=-1) List[T][源代码]#

使用每个 EnvRunner 作为其参数调用给定的函数。

参数:
  • func – 每个工作线程调用的函数(仅作为参数)。

  • local_env_runner – 是否也对本地 EnvRunner 应用 func。默认为 True。

  • healthy_only – 仅对已知健康的工人应用 func

  • remote_worker_ids – 在选定的一组远程工作者上应用 func。使用 None(默认)表示所有远程 EnvRunners。

  • timeout_seconds – 等待结果的时间(以秒为单位)。将其设置为 0.0 表示立即返回(即 fire-and-forget)。将其设置为 None(默认)表示无限等待(即同步执行)。

  • return_obj_refs – 是否返回 ObjectRef 而不是实际结果。注意,出于容错原因,这些返回的 ObjectRef 永远不应在此 WorkerSet 之外使用 ray.get() 进行解析。

  • mark_healthy – 是否将所有当前标记为不健康的且在给定的 timeout_seconds 内从远程调用返回结果的工人再次标记为健康。请注意,如果工人只是超时(仅当他们返回 RayActorError 时),他们不会被设置为不健康。另请注意,如果 healthy_only=True`(因为 `mark_healthy 仅影响当前标记为不健康的工人),则此设置将被忽略。

返回:

所有对 func([worker]) 调用的返回值列表。

开发者API: 此API可能会在Ray的次要版本之间发生变化。