
    &`i                         d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlmZ d dlmZmZ  ej        e          Zedk    rej        dd         Zej        e         ZdZdZeD ]*Ze                    e          re ee          d         Z+eej                            e          Znd dlmZ  e            Z ej        ed	           d
Z edz   Z! ej"        e!ej#        ej$        z  ej%        z            Z& e j'        e&e j(                    ej)        ej*         ej+        e           dged          Z,da-da.dZ/d Z0ddZ1 e	j2        e1d          3                                 	 d Z4 ej        ej5        e4           d Z6 ej        ej7        e6           	 	 e,8                                Z9n# e:$ r Y nw xY w" e0              ej;        e9           dS # e<$ r  e0              w xY wdS )    N)SIGTERM_GRACE_PERIOD_SECONDS) RAY_ON_SPARK_COLLECT_LOG_TO_PATH!RAY_ON_SPARK_START_RAY_PARENT_PID__main__   z--temp-dir=)_get_default_ray_tmp_dirTexist_okrayz.lockstart)textF   c                     t           rt          j        t                     d S da 	 t          j        t          dz              t
                                          t
                                           t          j	        t          t          j                   	 t          j	        t          t          j        t          j        z             d} n# t          $ r d} Y nw xY w| rt          rm	 t           j                            t&                    }|dk    r&|dt)          t          j                               z   }t           j                            t          |dz             }t!          j        |d           t           j                            |t/          j                              }t!          j        t           j                            t&          d                    }t5          j        t           j                            |d	          |           nB# t8          $ r5}t:                              d
t?          |           d           Y d }~nd }~ww xY wt5          j         t&          d           n# t8          $ r Y nw xY wt          j	        t          t          j                   t!          j!        t                     d S # t          j	        t          t          j                   t!          j!        t                     w xY w)NT      ?Fr   z-global-z-logsr	   session_latestlogsz5Collect logs to destination directory failed, error: .)ignore_errors)"exit_handler_executedtimesleepON_EXIT_HANDLER_WAIT_TIMEr   processpollkillfcntlflocklock_fdLOCK_UNLOCK_EXLOCK_NBBlockingIOErrorcollect_log_to_pathospathbasenametemp_dirintjoinmakedirssocketgethostnamereadlinkshutilcopytree	Exception_loggerwarningreprrmtreeclose)lock_acquiredlog_dir_prefixbase_dircopy_log_dest_pathray_session_dires         q/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/util/spark/start_ray_node.pyon_exit_handlerr=   P   s    ! 	J0111F $B	 J3c9:::||~~% K///	&GU]U]%BCCC $" & & &
 !&&  $< ' )+)9)9()C)C)U22 !/1NC	<L<L1N1N N + $&7<</'1I$ $
 Ht<<<<-/W\\$".00. .* +-+GLL3CDD+ + GLL&AA.    %   1&*1gg1 1 1        hd;;;; 	 	 	D	 K///HW K///HWsy   A2I3 3C I3 CI3 CI3 +D)H I3 
I+I
I3 II3 2K 3
J =K ?J  K ?Lreturnc                      t          t          j        t                             } 	 t	          j        d           t          j                    | k    rt                       d S <)NTr   )r(   r$   environr   r   r   getppidsigterm_handler)orig_parent_pids    r<   check_parent_aliverD      sR    bj)JKLL	JsOOOz||..  !!!	    )targetdaemonc                      d S )N argss    r<   sighup_handlerrL      s    DrE   c                      t           s*da t                                           t                       nt	          j        t                     t          j        d           d S )NT   )	sigterm_handler_executedr   	terminater=   r   r   r   r$   _exitrJ   s    r<   rB   rB      sU    + 6+/(!!###!!!! 
4555HSMMMMMrE   )r>   N)=r   loggingos.pathr$   r.   signalr+   
subprocesssys	threadingr   ray._private.ray_process_reaperr   ray.util.spark.cluster_initr   r   	getLogger__name__r1   argvarg_listr@   r#   temp_dir_arg_prefixr'   arg
startswithlenr%   normpathr   r*   ray_cli_cmd	lock_fileopenO_RDWRO_CREATO_TRUNCr   r   LOCK_SHPopen
executablewhichr   r   rO   r   r=   rD   Threadr   rL   SIGHUPrB   SIGTERMwaitret_codeKeyboardInterruptexitr0   rI   rE   r<   <module>rt      sY             



      H H H H H H        '
H
%
% zx|H*%EF'H 7 7>>-.. 	733233556H7##H-- 	IHHHHH++-- BK4((((K7"IbgiRZ!7"*!DEEG
 EK'''j 
k22GGhG	 	 	G "$ !L L L\    I.t<<<BBDDD)	 	 	 	fm^444
	 
	 
	 	fno666	"<<>>$    			 	   e s0   93G* -G G* G
G* 	G

G* *G;