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
任务状态
- 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: 对象引用状态未知。