
    zj                        d dl Z d dlZ G d d          Zedk    rk e j        d          Ze                    ded	           e                    d
ed	           e                    ded	           e                    ded	           e                                Z	e	j
        p ej        d          Ze	j        p ej        d          Z ee	j                            d          d                    p e ej        dd                     Z eee          Ze	j        dk    re                    e           e	j        dk    re                                  ede	j         d           e                                 dS dS )    Nc                   ,    e Zd Zd Zd Zd Zd Zd ZdS )Commandc                     dd l }|                    d          \  }}|                    ||          | _        d|z   | _        | j        dz   | _        | j        dz   | _        d S )Nr   :)hostportz/paddle/z/nodesz/np)etcd3splitclientetcdprefixnode_prefixnp_path)selfservernamer	   srvr   s         j/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/paddle/distributed/elastic.py__init__zCommand.__init__   sd    LL%%	TLLcL55	 4';1{U*    c                 n    | j                             | j        |                     d                     d S )Nzlatin-1)r   putr   encoder   nps     r   set_npzCommand.set_np   s.    	dlrGNN9$=$=>>>>>r   c                 ~    | j                             | j                  d         |                     |           dS dS )Nr   TF)r   getr   r   r   s     r   scale_npzCommand.scale_np!   s6    9==&&q)5KKOOO4ur   c                 D    | j                             | j                   d S N)r   delete_prefixr   r   s    r   cleanzCommand.clean'   s     	,,,,,r   c                 8    | j                                          d S r!   )r   closer#   s    r   r&   zCommand.close*   s    	r   N)__name__
__module____qualname__r   r   r   r$   r&    r   r   r   r      s_        + + +? ? ?  - - -    r   r   __main__zElastic Command)descriptionz--elastic_serverzetcd server host:port)typehelpz--job_idzjob unique idz--npz9job pod/node number, need to be 'MIN' or 'MIN:MAX' formatactionzaction to takePADDLE_ELASTIC_SERVERPADDLE_ELASTIC_JOB_IDr   PADDLE_ELASTIC_NPscaler$   zaction z done)argparseosr   r'   ArgumentParserparseradd_argumentstr
parse_argsargselastic_servergetenvr   job_idr   intr   r
   cmdr/   r   r$   printr&   r*   r   r   <module>rB      s    				       6 z$X$1BCCCF
+B     
?CCC
H    
 s1ABBBD FIBI.E$F$FF;<)")$;<<D	TW]]3"	#	#	Mss9295H!+L+L'M'MB
'&$

C{gR{g			E
&DK
&
&
&'''IIKKKKK= r   