ray.util.state.common.ObjectState#

class ray.util.state.common.ObjectState(object_id: str, object_size: int, task_status: Literal['NIL', 'PENDING_ARGS_AVAIL', 'PENDING_NODE_ASSIGNMENT', 'PENDING_OBJ_STORE_MEM_AVAIL', 'PENDING_ARGS_FETCH', 'SUBMITTED_TO_WORKER', 'RUNNING', 'RUNNING_IN_RAY_GET', 'RUNNING_IN_RAY_WAIT', 'FINISHED', 'FAILED'], reference_type: Literal['ACTOR_HANDLE', 'PINNED_IN_MEMORY', 'LOCAL_REFERENCE', 'USED_BY_PENDING_TASK', 'CAPTURED_IN_OBJECT', 'UNKNOWN_STATUS'], call_site: str, type: Literal['WORKER', 'DRIVER', 'SPILL_WORKER', 'RESTORE_WORKER'], pid: int, ip: str)[源代码]#

基类:StateSchema

对象状态

以下列可以用于 --filter 选项。

reference_type

pid

对象ID

类型

对象大小

调用点

ip

任务状态

以下列仅在使用 get API 时可用,

--detail 通过 CLI 指定,或者 detail=True 传递给 Python API。

reference_type

pid

对象ID

类型

对象大小

调用点

ip

任务状态

object_id: str#

对象的id。

object_size: int#

对象的大小,单位为MB。

task_status: Literal['NIL', 'PENDING_ARGS_AVAIL', 'PENDING_NODE_ASSIGNMENT', 'PENDING_OBJ_STORE_MEM_AVAIL', 'PENDING_ARGS_FETCH', 'SUBMITTED_TO_WORKER', 'RUNNING', 'RUNNING_IN_RAY_GET', 'RUNNING_IN_RAY_WAIT', 'FINISHED', 'FAILED']#

创建对象的任务的状态。

  • NIL: 我们没有此任务的状态,因为我们不是所有者,或者任务元数据已被删除。

  • WAITING_FOR_DEPENDENCIES: 任务正在等待其依赖项被创建。

  • 已安排: 所有依赖项已创建,任务已安排执行。这可能是因为任务正在等待资源、运行时环境创建、将依赖项获取到本地节点等。

  • 完成: 任务成功完成。

  • WAITING_FOR_EXECUTION: 任务已正确安排,等待执行。这包括将任务交付给远程工作者的时间 + 执行端的排队时间。

  • 运行中:正在运行的任务。

reference_type: Literal['ACTOR_HANDLE', 'PINNED_IN_MEMORY', 'LOCAL_REFERENCE', 'USED_BY_PENDING_TASK', 'CAPTURED_IN_OBJECT', 'UNKNOWN_STATUS']#

对象的引用类型。更多详情请参见 使用 Ray 内存调试

  • ACTOR_HANDLE: 该引用是一个actor句柄。

  • PINNED_IN_MEMORY: 该对象被固定在内存中,这意味着对该引用正在进行 ray.get 操作。

  • LOCAL_REFERENCE: 这里有一个本地引用(例如,Python 引用)指向这个对象引用。直到所有引用都消失,对象才不会被垃圾回收。

  • USED_BY_PENDING_TASK: 对象引用被传递给其他任务。例如,a = ray.put() -> task.remote(a)。在这种情况下,a 被一个待处理的任务 task 使用。

  • CAPTURED_IN_OBJECT: 对象被其他对象序列化。例如,a = ray.put(1) -> b = ray.put([a])。a 在列表中被序列化。

  • UNKNOWN_STATUS: 对象引用状态未知。

call_site: str#

对象的调用点。

type: Literal['WORKER', 'DRIVER', 'SPILL_WORKER', 'RESTORE_WORKER']#

创建对象的工作者类型。

  • WORKER: 执行任务或实例化角色的常规 Ray 工作进程。

  • DRIVER: 驱动程序(调用 ray.init 的 Python 脚本)。

  • SPILL_WORKER: 负责溢出对象的工作者。

  • RESTORE_WORKER: 恢复对象的工作者。

pid: int#

所有者的进程ID。

ip: str#

所有者的IP地址。