o
    1 i^  ã                   @   sJ   d dl mZ d dlmZ erd dlmZmZ d dlmZ G dd„ dƒZ	dS )é    )ÚSimpleNamespace)ÚTYPE_CHECKING)ÚJobIDÚNodeID©ÚRuntimeContextc                   @   s¨   e Zd ZdZdd„ Zddd„Zdd	„ Zed
d„ ƒZeddd„ƒZ	eddd„ƒZ
edefdd„ƒZedefdd„ƒZedefdd„ƒZdefdd„Zedefdd„ƒZdS ) Ú_ClientWorkerPropertyAPIzHEmulates the properties of the ray._private.worker object for the clientc                 C   s   |d usJ ‚|| _ d S ©N)Úworker)Úselfr
   © r   úk/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/ray/util/client/runtime_context.pyÚ__init__   s   
z!_ClientWorkerPropertyAPI.__init__Úreturnr   c                 C   s   ddl m} || ƒS )z=Creates a RuntimeContext backed by the properites of this APIr   r   )Úray.runtime_contextr   )r   r   r   r   r   Úbuild_runtime_context   s   z._ClientWorkerPropertyAPI.build_runtime_contextc                 C   s(   dd l m  m  m} | j |jj¡S )Nr   )Z!ray.core.generated.ray_client_pb2ÚcoreÚ	generatedÚray_client_pb2r
   Zget_cluster_infoZClusterInfoTypeZRUNTIME_CONTEXT)r   r   r   r   r   Ú_fetch_runtime_context   s   ÿz/_ClientWorkerPropertyAPI._fetch_runtime_contextc                 C   s   ddl m} |S )Nr   )ÚSCRIPT_MODE)Zray._private.workerr   )r   r   r   r   r   Úmode   s   z_ClientWorkerPropertyAPI.moder   c                 C   ó   ddl m} ||  ¡ jƒS )Nr   )r   )Úrayr   r   Zjob_id)r   r   r   r   r   Úcurrent_job_id$   ó   z'_ClientWorkerPropertyAPI.current_job_idr   c                 C   r   )Nr   )r   )r   r   r   Znode_id)r   r   r   r   r   Úcurrent_node_id*   r   z(_ClientWorkerPropertyAPI.current_node_idc                 C   ó
   |   ¡ jS r	   )r   Ú	namespace©r   r   r   r   r   0   ó   
z"_ClientWorkerPropertyAPI.namespacec                 C   r   r	   )r   Zcapture_client_tasksr   r   r   r   Ú-should_capture_child_tasks_in_placement_group4   r    zF_ClientWorkerPropertyAPI.should_capture_child_tasks_in_placement_groupc                 C   r   r	   )r   Úruntime_envr   r   r   r   r"   8   r    z$_ClientWorkerPropertyAPI.runtime_envc                 C   s
   | j  ¡ S r	   )r
   Zping_serverr   r   r   r   Úcheck_connected<   s   
z(_ClientWorkerPropertyAPI.check_connectedc                 C   s   t |  ¡ jdS )N)Úaddress)r   r   Zgcs_addressr   r   r   r   Ú
gcs_client?   s   z#_ClientWorkerPropertyAPI.gcs_clientN)r   r   )r   r   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Úpropertyr   r   r   Ústrr   Úboolr!   r"   r#   r%   r   r   r   r   r   	   s(    

r   N)
Útypesr   Útypingr   r   r   r   r   r   r   r   r   r   r   Ú<module>   s    