
    ^i                         S SK r S SKrS SKrS SKJr  S SKJrJrJrJ	r	  SSK
JrJrJrJr  SSKJr  SSKJrJr   " S S	\5      r " S
 S\5      r " S S\\   5      r " S S\5      rg)    N)Path)DictListOptionalUnion   )ExecutorInfoWatcherJobR)JobEnvironment)DelayedSubmissionUncompletedJobErrorc                   &    \ rS rSrS\SS4S jrSrg)DebugInfoWatcher   job_idreturnNc                     g N )selfr   s     Q/mnt/rpi/tmp/demucs-venv-sys/lib/python3.13/site-packages/submitit/local/debug.pyregister_jobDebugInfoWatcher.register_job           r   )__name__
__module____qualname____firstlineno__strr   __static_attributes__r   r   r   r   r      s    3 4 r   r   c                   F    \ rS rSrSSSSSSS.rS\4S jrS\SS4S	 jrS
r	g)DebugJobEnvironment   SUBMITIT_DEBUG_JOB_IDSUBMITIT_DEBUG_NOT_SET)r   	num_nodes	num_tasksnodeglobal_rank
local_rankr   c                 (    S[         R                  ;   $ )Nr'   )osenvironr   s    r   	activatedDebugJobEnvironment.activated#   s    &"**44r   	countdownNc                     g r   r   )r   r4   s     r   _requeueDebugJobEnvironment._requeue&   r   r   r   )
r   r   r    r!   _envboolr2   intr6   r#   r   r   r   r%   r%      s:    )--(/.D54 5# $ r   r%   c                     ^  \ rS rSr\" 5       rS\S\SS4U 4S jjrS\4S jr	\
S\4S j5       rSS	\SS4S
 jjrSS jrS\\   4S jrS\\   4S jrSS jrSS\S\4S jjr\
S\4S j5       rSS\S\\\4   4S jjrSS jrSrU =r$ )DebugJob*   folder
submissionr   Nc                    > S[        U5       3n[        TU ]	  XS9  X l        SU l        [        [        R                  5      U l        U R                  U R                  S'   g )NDEBUG_)r>   r   Fr'   )	idsuper__init___submission	cancelleddictr/   r0   r   )r   r>   r?   r   	__class__s       r   rD   DebugJob.__init__-   sT    "Z.)*6%BJJ'04,-r   c                     U R                   $ r   )rE   r1   s    r   r?   DebugJob.submission5   s    r   c                     g)N   r   r1   s    r   r*   DebugJob.num_tasks8   s    r   checkc                     SU l         g )NT)rF   )r   rO   s     r   cancelDebugJob.cancel<   s	    r   c                 D    U R                   (       a  [        SU  S35      eg )NzJob z was cancelled.)rF   r   r1   s    r   _check_not_cancelledDebugJob._check_not_cancelled?   s"    >>%TF/&BCC r   c                 D   U R                  5         U R                  R                  5       (       a  U R                  R                  /$ [	        [
        R                  5      n[
        R                  R                  5         [
        R                  R                  U R                  5        [        R                  " S5      nU R                  R                  R                  R                  SSS9  [        R                  " U R                  R                  5      nUR!                  [        R"                  5        [        R                  " U R                  R$                  5      nUR!                  [        R&                  5        UR)                  U5        UR)                  U5        UR+                  SU R                  R                   S35         U R                  R-                  5       /[
        R                  R                  5         [
        R                  R                  U5        UR/                  U5        UR/                  U5        $ ! [0         an  n[3        U5        [
        R                  R5                  SS5      R7                  S5      (       a  SS KnUR;                  5         e SS KnUR;                  5         e S nAff = f! [
        R                  R                  5         [
        R                  R                  U5        UR/                  U5        UR/                  U5        f = f)	N T)exist_okparentsz0Logging is written both to stderr/stdout and to z8/err. But call to print will only appear in the console.PYTHONBREAKPOINTipdbr   )rT   rE   done_resultrG   r/   r0   clearupdatelogging	getLoggerpathsstdoutparentmkdirFileHandlersetLevelDEBUGstderrWARNING
addHandlerwarningresultremoveHandler	Exceptionprintget
startswithr[   post_mortempdb)r   environ_backuproot_loggerstdout_handlerstderr_handlerer[   rt   s           r   resultsDebugJob.resultsC   s=   !!#  ""$$,,--bjj)





$,,'''+

  &&d&C ,,TZZ->->?. ,,TZZ->->?0~.~.>tzz?P?P>Q RA A	
	6$$++-. JJJJn-%%n5%%n5#  	!H zz~~0"5@@HH  "
  !	 JJJJn-%%n5%%n5s&   	I 
J;A)J66J;;J> >A!Lc                     U R                  5          U R                  R                  5         g ! [         a  nUs S nA$ S nAff = fr   )rT   rE   rm   ro   )r   ry   s     r   	exceptionDebugJob.exceptionn   s?    !!#	##% 	 H	s   - 
A>AAc                 $    U R                  5         g r   )rz   r1   s    r   waitDebugJob.waitx   s    r   force_checkc                 V    U R                  5         U R                  R                  5       $ r   )rz   rE   r\   )r   r   s     r   r\   DebugJob.done|   s     $$&&r   c                 h    U R                   R                  5       (       a  gU R                  (       a  gg)NDONE	CANCELLEDQUEUED)rE   r\   rF   r1   s    r   stateDebugJob.state   s'      "">>r   modec                     SU R                   0$ )NSTATE)r   )r   r   s     r   get_infoDebugJob.get_info   s    $$r   c                     g r   r   r1   s    r   __del__DebugJob.__del__   s    r   )rE   rF   r0   )T)r   N)F)force)r   r   r    r!   r   watcherr   r   rD   r?   propertyr:   r*   r9   rQ   rT   r   r   rz   r   BaseExceptionr}   r   r\   r"   r   r   r   r   r#   __classcell__rH   s   @r   r<   r<   *   s     G<t <1B <t < -   3  D D D)6a )6V8M2 ' ' '
 s  %S %tCH~ % r   r<   c                      ^  \ rS rSr\rS\\\4   4U 4S jjr	S\
R                  \   S\
R                  \\
R                        4S jrSrU =r$ )DebugExecutor   r>   c                 $   > [         TU ]  U5        g r   )rC   rD   )r   r>   rH   s     r   rD   DebugExecutor.__init__   s     r   delayed_submissionsr   c                 Z    U Vs/ s H  n[        U R                  U5      PM     sn$ s  snf r   )r<   r>   )r   r   dss      r   _internal_process_submissions+DebugExecutor._internal_process_submissions   s*     5HH4Gbb)4GHHHs    (r   )r   r   r    r!   r<   	job_classr   r"   r   rD   tpr   r   r   Anyr   r#   r   r   s   @r   r   r      sV    I!uS$Y/ !I#%77+<#=I	RVV	I Ir   r   )r`   r/   typingr   pathlibr   r   r   r   r   	core.corer	   r
   r   r   core.job_environmentr   
core.utilsr   r   r   r%   r<   r   r   r   r   <module>r      s^     	   . . 5 5 1 ?{ . $ds1v dN	IH 	Ir   