ray.get#
- ray.get(object_refs: Sequence[ObjectRef[Any]], *, timeout: float | None = None) List[Any] [源代码]#
- ray.get(object_refs: Sequence[ObjectRef[R]], *, timeout: float | None = None) List[R]
- ray.get(object_refs: ObjectRef[R], *, timeout: float | None = None) R
- ray.get(object_refs: Sequence[CompiledDAGRef], *, timeout: float | None = None) List[Any]
- ray.get(object_refs: CompiledDAGRef, *, timeout: float | None = None) Any
从对象存储中获取一个远程对象或远程对象列表。
此方法会阻塞,直到与对象引用对应的物体在本地对象存储中可用。如果此对象不在本地对象存储中,它将从拥有该对象的对象存储中运送过来(一旦对象被创建)。如果 object_refs 是一个列表,那么列表中每个对象对应的物体将被返回。
对于输入的对象引用列表,每个返回对象的顺序保持不变。也就是说,如果对象引用 A 在输入列表中先于对象引用 B,那么在返回的列表中 A 也将先于 B。
如果此方法在异步上下文中运行,它将发出警告,你可以使用
await object_ref
代替ray.get(object_ref)
。对于对象引用的列表,你可以使用await asyncio.gather(*object_refs)
。不允许传递
ObjectRefGenerator
。相关模式和反模式:
- 参数:
object_refs – 要获取的对象引用或要获取的对象引用列表。
timeout (Optional[float]) – 在返回之前等待的最大时间(以秒为单位)。将其设置为 None 将阻塞,直到相应的对象变为可用。设置
timeout=0
将在对象可用时立即返回,否则根据上述文档字符串引发 GetTimeoutError。
- 返回:
一个Python对象或Python对象列表。
- 抛出:
GetTimeoutError – 如果在设置了超时的情况下,get 操作花费的时间超过了超时时间,则会引发 GetTimeoutError。
Exception – 如果创建对象的任务或创建其中一个对象的任务引发了异常,则会引发异常。