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的次要版本之间发生变化。